我想知道是否有办法使用 javascript(在移动设备上(检索浏览器应用程序的 URL 方案?
例如: 您正在使用谷歌浏览器在手机上浏览网页。该页面是否有可能运行一些 javascript 并检索 googlechrome://方案?
谢谢!
编辑:
我刚刚发现"navigator"对象有一个名为"registerProtocolHandler"的方法,它允许网站将自己注册为特定协议的可能处理程序。
这非常接近我的需求。唯一的问题是,这需要访问该网站的人的许可,这与我要追求的流程不符。此外,它不支持iOS上的Safari。
当你的JavaScript在网页上运行时,用户的手机已经使用URI方案(比如googlechrome://
(来选择它安装的Web浏览器。然后,浏览器使用类似 http://
的 Web 协议请求您的网站。这就是window.location.protocol
将提供的。
因此,JavaScript 不知道"浏览器应用程序"意义上的"方案"。
但是,您可以从用户代理中找出用户的浏览器,然后从中推断出可能的 URI 方案。不过,您仍然无法确定用户是否只是打开了Chrome并导航到您的网站,而从未点击过链接。
请注意,用户代理并不总是可靠的:
浏览器用户可以根据需要更改此字段的值(UA 欺骗(。