我有一个使用自定义协议处理程序打开应用程序的网页。一个链接到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