2016-11-21 84 views
0

首先,我們有一個應用程序,我們的域支持iOS9和iOS10上的通用鏈接。在着陸頁上,有一個元素的'href'屬性設置爲我們的域名。點擊它啓動我們的本地應用程序或在瀏覽器中打開UL。這是行得通的。如何使IOS通用鏈接在iframe中工作

但是,當相同的登錄頁面放在iframe(預期用例)內時,該按鈕無法按預期工作。我沒有啓動我們的應用程序,而是在控制檯上看到:「https://domain/path/page.html」未被允許顯示來自itms-appss的不安全內容://itunes.apple.com/app/appname/id#######?mt = 8。 這意味着UL機制不起作用,瀏覽器實際上檢索到URL(反過來,這是一個簡單的PHP文件,將位置標題重定向到iTunes)

我認爲可能是我們的應用程序或頁面或子域名,所以我試圖爲Instagram應用添加類似的鏈接。這沒有幫助,因爲行爲是一樣的:UL機制不起作用,瀏覽器檢索UL的內容。

僞HTML:

<body> 
<a href="universal_link">Works</a> 

<iframe src="your_random_local_page.html"> 
    <a href="universal_link">Doesn't work</a> 
</iframe> 

</body> 

回答

0

我們需要更多的細節 - 沒有足夠的在這裏得到充分的畫面。理想情況下,到您的實時登陸頁面的鏈接將是最好的,但如果沒有這個,至少關於Universal Link指向的更多信息。

初步地,我懷疑你的Universal Link會以某種方式重定向到App Store頁面,該頁面將嘗試通過itms-appss:// URI方案啓動App Store應用程序本身。自定義URI方案在iFrames have been blocked since iOS 9.3中重定向,所以這是預期的行爲。

+0

Alex,謝謝你的關注。讓我試着在沒有太多細節的情況下澄清這一點。 Universal Link基本上指向在apple-app-site-association文件中註冊的PHP文件。因此,如果從頂部窗口或從Notes應用程序中單擊此鏈接,則會啓動我們的本機應用程序。 Php文件只是返回位置標題重定向到iTunes,因此用戶可以安裝該應用程序。 似乎UL機制不能在iframe中工作,如果我們得到關於iTunes的日誌 – Denis

+0

這並不令我感到意外。如果iframe能夠意外觸發不同的應用程序,用戶會覺得很驚訝。對於需要某種用戶操作的Universal Links,Apple一直非常保守,所以這聽起來像是一個可能的限制。 –

0

從IFRAME剛剛離開的

<body> 
<a href="universal_link">Works</a> 

<iframe src="your_random_local_page.html"> 
     <a target="_top" href="universal_link">Doesn't work</a> 
</iframe> 

</body> 

它的工作對我罰款。