javascript - 这个奇怪的 "script"在做什么?

标签 javascript html

我正在做一些测试,然后发现下面的代码会弹出一个窗口:

<a href="script:test">test</a>

看起来它正在尝试打开一个应用程序。 谁能告诉我这个“脚本”的用途/目的是什么? 貌似FF、Chrome、IE都支持。

最佳答案

script 被用作协议(protocol)。没有应用程序处理 script 协议(protocol),因此单击它没有任何用处。

您可以注册一个自定义协议(protocol)处理程序,如果用户接受它,您的应用程序将被允许打开该类型的所有链接(有 only a few permitted protocols ):

window.navigator.registerProtocolHandler('web+test', 'http://example.org/?handler=%s', 'Test Protocol');

仅允许 example.org 运行上述代码,但如果您在访问 http://example.org/ 时打开开发工具并运行上面的代码,您将看到一个对话框,询问您允许或拒绝协议(protocol)关联。如果您接受,请在任何网站上单击以下链接:

<a href="web+test:hello">test</a>

它将重定向到 http://example.org/?handler=hello

关于javascript - 这个奇怪的 "script"在做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47297048/

相关文章:

html - 导航栏中左侧的图像和右侧的文本

javascript - 允许负十进制数

javascript - Highcharts 大值的粘性标签超出图表

jquery 移动文本覆盖文本奇怪的按钮

Javascript 再次执行函数(倒计时)

javascript - 我想在一个类中显示点击项目的ID,如果再次点击则删除它

python - 使用 python 填写文本类型的输入并按提交

Javascript:在调用 eval 之前检查字符串是否是有效的函数名称

javascript - Kendo TreeList 绑定(bind)不会保留在行编辑上

javascript - 输入文本字段文本光标不出现?