Html 在浏览器中检测URI方案支持

Html 在浏览器中检测URI方案支持,html,browser,modernizr,feature-detection,uri-scheme,Html,Browser,Modernizr,Feature Detection,Uri Scheme,是否有一种类似于Modernizer的方法来检测客户端对uri方案的支持,例如 或 为了有条件地显示这样的链接 可能相关 你可以使用一些技巧,但是如果你必须在Windows上处理IE

是否有一种类似于Modernizer的方法来检测客户端对uri方案的支持,例如
为了有条件地显示这样的链接

可能相关


你可以使用一些技巧,但是如果你必须在Windows上处理IE<11或者甚至比Windows 8更早的IE 11,你不会喜欢我的回答

通常,如果遵循这些URL会产生副作用,则无法检测对URL方案的支持

您可以尝试在iframe中打开其中一个URL。因此,您可以将iframe附加到正文(或任何您想要的位置),然后将其href设置为特殊url

在Mozilla浏览器中,如果URL方案不受支持,则会出现异常。在基于Webkit的浏览器(和Chrome)中,不会发生任何事情

所以,除非你是在Mozilla上,否则根本没有办法知道你为什么这么做是否奏效

在IE11中,在Windows 8及更高版本下(但在早期版本的Windows下除外,只是缺少了该方法),您可以使用
window.natigator.msLaunchUri
启动该特殊url。如果URI方案不受支持,这也将抛出

不幸的是,这可能真的会对你想要做的事情产生影响:不管你使用什么样的技巧:如果这个方案不受支持,而你试图在任何不支持
msLaunchUri
的IE版本上启动它,你的页面将被一个错误页面取代,并且没有办法防止这种情况发生

我什么都试过了。iframe技巧会导致错误消息。尝试
窗口。打开
会导致错误消息,或者根据天气情况不执行任何操作。设置img URL不会导致错误(好),但也不会导致URL实际启动(坏)

除非你与你将要启动的应用程序的url合作(例如,如果安装了应用程序,告诉IE污染用户代理标题),否则你在IE中就不走运了

是的,很可能不是你想听的,对不起