我有一個使用自定義協議處理程序打開應用程序的網頁。一個鏈接到iTunes商店應用程序供人們下載Picup應用程序,另一個鏈接到fileupload://打開Picup應用程序。如何檢測網頁是否在iPhone的嵌入式瀏覽器中運行?
當頁面加載到另一個應用程序(例如1Step掃描儀條形碼掃描儀)內嵌的Safari中時,導航到這些自定義協議時,出現錯誤消息 - 錯誤,無法加載網頁!請再試一次。
我打算使用JavaScript來檢測網頁是否在嵌入式瀏覽器中加載並顯示一條消息,要求用戶使用Safari。
的一種方式是檢測用戶代理字符串
嵌入式
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A405
的Safari
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3
然而,檢測在所述用戶代理字符串的存在/不存在字的Safari適用於所有版本的iPhone?有沒有更安全的方法?
我必須提醒你,這很容易被欺騙,如果用戶使用另一個瀏覽器如海豚或另一個瀏覽器,你應該給他們啓動功能的選項。 – AlfredoVR 2012-02-22 04:07:43