2016-06-21 79 views
0

我使用這個作爲我的網頁鏈接。當使用Facebook深層URL打開應用程序時,應用程序和網頁一起打開

<a class="btn btn-lg btn-orange" role="button" onclick="myFunction()">like me</a> 

而這作爲我的腳本。

function myFunction() { 
    $(function(){ 
     window.location = "fb://profile/1456471431314551"; 
     setTimeout(function() { window.location = "https://www.facebook.com/angelsatwork2015"; }, 25); 
    }) 
    } 

當我在移動中打開瀏覽器fb頁面和fb應用程序時,打開。請幫助,以便在應用程序打開時它不會重定向到fb瀏覽器頁面。 另外,當我在桌面上使用此代碼打開兩個不同的瀏覽器頁面。

回答

0

這很可能是該代碼的預期行爲。

點擊該按鈕時你正在做什麼,立即打開URL fb://profile/1456471431314551。假設這是iOS,這會導致系統顯示一條提示,詢問您是否要啓動應用程序。但是,從iOS 9.2開始,此警報爲非阻塞,這意味着其他代碼將在後臺繼續執行。這就是爲什麼,25毫秒後,您將以普通網頁的形式打開URL https://www.facebook.com/angelsatwork2015

不幸的是,在iOS 9.2+世界中沒有很好的解決方案(謝謝Apple ...)。我們在Branch.io所做的是通用鏈接(它在大多數時間安裝時啓動應用程序)和重新定向的結合,例如Universal Links不起作用的邊緣情況。我們根據設備UUID設置跟蹤cookie,以瞭解我們何時可以安全地嘗試啓動應用程序,但實際上,這通常意味着如果我們不確定,我們必須重定向到App Store,以避免您的行爲遇到。