我继承了一个网站,只是偶然发现了这样的好奇心:

<a href="/delete"  onClick="jamoscript:return confirm('Do you really want to do that?');">Delete all</a>

我可以显示包含它的页面,然后单击链接以获得确认对话框,这与我将"jamoscript"更改为"javascript"时所做的操作完全相同.无论是加载页面还是单击链接,Firebug控制台中都不会显示任何诊断信息.怎么回事,嘿?在谷歌上搜索Jamoscript没有找到任何有趣的东西.

有人能解释这种行为吗?

推荐答案

"onclick"属性的字符串值被视为简单的JavaScript代码.JavaScript包含labeled statements的规定,因此代码是一个标签为"jamoscript"的return语句.换句话说,这:

jamoscript: return confirm("Do you really want to hurt me?");

完全合法.标签使用不多,所以不熟悉.

"javascript:"前缀唯一重要的上下文是什么时候需要URL,<a>个标记的"href"属性就是这种情况.

Html相关问答推荐

将容器水平偏离中心放置在桌面上;在移动设备上平稳地集中缩小规模

如何格式化HTML文本,使其环绕关键字

CSS复选框并排

未显示新组件的视图

损坏的可点击html邮箱签名

对称渐变作为背景

有没有一种方法可以动态地从网格或Flexbox中取出HTML元素?

在CSS中旋转排除的蒙版图像

如何突破安莉得分

如何用css在右侧创建多个半圆

列表项文本在占据剩余空间之前在标记下换行

如何在没有包装元素的情况下在React(Next.js)中呈现HTML注释

如何防止滑动滚动元素时touch 屏出现空白区域?

页面文件夹内的 HTML 页面未加载主目录的 style.css

如何修剪 flex: 1 内的垂直文本?

Google Apps 脚本 - RegEx 适用于小文本,但不适用于大文件?

如何为Vuetify输入控件减小标签和字段之间的间距?

如何使用CSS将页面标题水平居中对齐

HTML 如何根据屏幕尺寸调整/裁剪视频背景?

以 HTML 格式显示的 LaTeX 表格