猿问

无法让 registerProtocolHandler 在 localhost 上工作

我正在尝试在由 http://localhost:8080 提供的网页上注册自定义协议处理程序

这是我的代码:

<script>

     navigator.registerProtocolHandler("web+did", "http://localhost:8080?did=%s", "did search");

</script>


<a href="web+did://123456">Search DID</a>

但是当我单击链接时,网络浏览器只是将请求显示为“已取消”,为什么它没有被调度为“http://localhost:8080?did=123456”?


杨魅力
浏览 109回答 1
1回答

犯罪嫌疑人X

在Firefox中,只有当它包含在语句中,或者在由某些用户交互显式调用的函数中执行时,它才会起作用(即单击一个按钮,该按钮调用一个函数,该按钮注册一个协议处理程序)。navigator.registerProtocolHandlerwindow.onload在 Chrome 中,不能自动执行,它需要在某个用户交互调用的函数中执行。我没有任何文档链接来支持这一点,我只是通过自己的实验才发现这一点。navigator.registerProtocolHandler
随时随地看视频慕课网APP

相关分类

Html5
我要回答