2015-05-04 30 views
1

我有一個頁面,我想在安裝時將用戶重定向到Instagram應用程序。這部分運作良好,但是當用戶沒有安裝應用程序時,它會提示他們去應用程序商店並下載應用程序,這不是我想要的。嘗試加載自定義URL方案時,不要提示用戶安裝應用程序

我看到在OS X上這種行爲在Safari,以及所涉及的HTML是({用戶名}將由我的應用程序基於用戶提交表單填寫):

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta http-equiv="refresh" content="0; url=instagram://user?username={username}"> 
    </head> 

    <body> 
     <div> 
      Taking you to Instagram... 
     </div> 
     <script src="https://code.jquery.com/jquery-1.11.2.min.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
     $(function() { 
      setTimeout(function() { 
       window.location = "https://instagram.com/{username}"; 
      }, 200); 
     }); 
     </script> 
    </body> 
</html> 

編輯 具體,發生的事情是該行<meta http-equiv="refresh" content="0; url=instagram://user?username={username}">正顯示出下面的對話框:

enter image description here

我想爲撥號不要顯示並讓「window.location =」接管並將用戶重定向到瀏覽器中的Instagram。

我的問題是我如何修改「instagram://」重定向到不要求用戶在他們的機器上安裝Instagram應用程序?

+0

如果用戶沒有安裝instagram,它應該怎麼做? –

+0

標記中的Javascript功能會將它們重定向到其網絡瀏覽器中的instagram.com。該部分的工作原理 - 如果您在Chrome中運行HTML,則可以看到它。在Safari中,它詢問您是否要打開應用商店,以便安裝Instagram應用。 –

+0

在Safari中它告訴我「沒有應用程序設置爲打開URL instagram:// user?username = null」...使用<選擇應用程序...>或<搜索應用商店> –

回答

1

如果安裝了應用程序(如Instagram),則無法在瀏覽器中檢測到(官方)方式,因此如果不提供替代方案,則無法使用自定義url方案。您應該讓最終用戶選擇並提示打開網站(https計劃)或應用程序(Instagram計劃)。 用戶將知道該應用是否已安裝。

如果您已經知道用戶安裝了Instagram應用程序,則可以查看瀏覽器代理以查看您是否在iOS設備上。

相關問題