我有一個網站和一個本地iphone應用程序。應用程序註冊一個自定義協議。我希望網站在適當的時候自動重定向到協議,但只有當用戶安裝了應用程序時(以避免惱人的對話)。這意味着我需要從應用程序中編寫一些可以在移動Safari中閱讀的狀態,以將應用程序標記爲已安裝。餅乾似乎不存在交叉過程。我還有其他地方可以儲存我的標記嗎?iPhone應用程序和移動Safari瀏覽器之間是否有共享狀態?
5
A
回答
4
看看this博客文章,瞭解蘋果是如何爲Mobile Me Gallery應用程序做的。它涉及到應用程序在Safari中打開一個網站(在您的服務器上),它將一個'App Installed'Cookie加載到Safari中。
3
回到這個問題後,我發現了另一個部分解決方案。事實證明,無效的協議對話框不會像阻止警告一樣阻止JavaScript執行。
所以,這裏是如何啓動從Web應用程序時,你處理回退:
- 註冊一個setTimeout的處理程序重定向到後,說回退頁(含window.location.replace),500毫秒
- 註冊如果安裝了應用程序,取消超時
- 打開的網址與你的自定義協議
- 一個的onblur處理程序,瀏覽器會打開應用程序,模糊了網頁,並取消後備
- 如果沒有安裝該應用程序,用戶將只能看到最多500毫秒的對話框他們接走後備頁面
其實我喜歡這更好,因爲之前同時,一方面人沒有應用有時會在網站上閃現對話,另一方面,它不會影響應用程序的首次啓動體驗。在huntaub的回答中描述的技術會在應用首次推出時引起一對分散注意的過渡和移動Safari的閃光。
相關問題
- 1. 移動Web瀏覽器和移動Web應用程序共享相同的localStorage
- 2. PWA可以在瀏覽器之間共享狀態/數據嗎?
- 3. 在#[test]之間共享動態狀態
- 4. iPhone,移動Safari瀏覽器,YouTube的...留
- 5. 從iPhone上的全屏Web應用程序啓動移動Safari瀏覽器
- 6. 啓動瀏覽器(Safari瀏覽器)我的應用程序
- 7. iPhone Safari瀏覽器應用程序浮動div
- 8. iPhone瀏覽器:檢查是否從瀏覽器安裝iPhone應用程序
- 9. 在移動Safari瀏覽器中打開應用程序
- 10. 在本地移動應用程序中嵌入Safari瀏覽器
- 11. 在OS X應用程序中模擬移動Safari瀏覽器
- 12. 移動Safari瀏覽器,Web應用程序,Site.Manifest和沒有互聯網連接
- 13. 線程池是否在應用程序域之間共享?
- 14. 如何在iPhone應用程序和applewatch之間共享數據?
- 15. 在iPhone應用程序之間共享視圖和代碼
- 16. 移動應用程序瀏覽器? Asp.net?
- 17. IIS7:使用狀態服務器在應用程序之間共享會話
- 18. 從移動Safari瀏覽器
- 19. 應用程序和共享會話之間的共享DLL
- 20. 檢測Silverlight應用程序是否在瀏覽器中處於活動狀態
- 21. Down狀態iOS按鈕移動Safari瀏覽器
- 22. App Engine - 是否在應用程序版本之間共享memcache?
- 23. 在瀏覽器和服務器之間共享邏輯
- 24. 在iPhone應用程序中使用HTTP打開Safari瀏覽器
- 25. 移動瀏覽器中的HTML5狀態
- 26. 在多進程之間共享進程之間的狀態
- 27. 如何在Web和移動應用程序之間共享Twitter用戶憑據?
- 28. 是否在瀏覽器標籤頁/窗口之間共享requestAnimationFrame()調用?
- 29. 應用程序之間共享在C#
- 30. 在應用程序之間共享drawables