現在的處理是:
點擊後,500ms沒成功就跳到下載頁面。
在ios下,點擊後,直接開啟了App;但頁面在繼續執行,不管是否安裝了App都會跳到下載頁面。
需求是,如果成功開啟App,就不能跳到下載頁面。
現在的思路是透過判斷頁面是否可見或失去焦點,來判斷是否開啟了App,故做瞭如下嘗試:
判斷document.hasFocus(),但其回傳值一直為true。
監聽visibilitychange事件;visibilitychange在安卓下可以,在ios下方只有在瀏覽器內切換頁面會觸發,點擊home鍵回到桌面不觸發。
監聽pageshow事件,看起來只有重載頁面時才會觸發,無法滿足需求。
iOS下用 Universal Links.
什麼setTimeout visibilityChange 都是hack 的做法,iOS9+ 還有universal links這種官方的解決方案,安卓上千奇百怪的瀏覽器就慘了,若是調起了自家App 仍然跳到下載頁面,那就跳吧,能怎樣,與其過度扣這種前端沒辦法解決只能hack 的細節,不如把產品做好,用戶安裝了你家App,他要用App 自己自然會用。