我做了以下工作:
1)在Windows 7中:注册表:HKEY_CLASSES_ROOT\PROTOCOLS\Handler下面有我的自定义协议调用:stackoverflow (在注册表中复制的方式类似于其他协议,mailto或ftp等等)
2)在IE中打开示例:http://jsfiddle.net/L528u/
<a href="stackoverflow:talking" id="link1">CLICK IT</a>
<button onclick="alert(document.getElementById('link1').protocolLong);">CHECK - IF - Protocol available or not</button>3)单击IE中的按钮检测协议: stackoverflow失败
我总是收到警告框:“未知协议”,但是当我试图检测像: ftp这样的协议时,mailto就会工作。
<a href="ftp:talking" id="link1">CLICK IT</a>
<button onclick="alert(document.getElementById('link1').protocolLong);">CHECK - IF - Protocol available or not</button>问:有人能告诉我,在注册表条目中缺少什么来激活新协议吗?“堆栈溢出”(其中ftp,mailto工作,但不堆栈溢出)
发布于 2014-07-06 13:32:25
Internet仅通过protocolLong表面显示内置协议。在注册表中没有任何内容可以允许基于web的应用程序协议检测。
发布于 2014-07-23 12:50:02
10 (及更高版本)在Windows 8(以及稍后,请注意,Windows 7不包括!(参见msLaunchUri not available in IE11)成功地实现了一个新方法和一个错误回调参数,这些参数可以帮助协议处理程序调用navigator.msLaunchUri(uri, successCallback, noHandlerCallback)。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ie/jj154912(v=vs.85).aspx
https://stackoverflow.com/questions/24595592
复制相似问题