您是否需要在onclick中指定“ javascript:”?

您是否需要在onclick中指定“ javascript:”?,第1张

您是否需要在onclick中指定“ javascript:”?

这里的一些响应声称“javascript:”前缀是“过去的遗留物”,这意味着浏览器有意对它进行了特殊处理,以实现向后兼容。是否有确凿的证据证明是这种情况(有人检查过源代码)吗?

<span onclick="javascript:alert(42)">Test</span>

对我来说,它的意思是:

javascript:    alert(42);

意思是,“ javascript:”只是一个标签,没有任何作用。这也有效:

<span onclick="foobar:alert(42)">Test</span>

更新:

我做了一个小实验,结果是,是,“javascript:”是由IE专门处理的,但Firefox,Safari,Opera或Chrome绝对不是这样处理的:

<span onclick="javascript:while (true) { alert('once'); break javascript; }">Test</span>

在非IE上,这将仅一次警告一次,然后退出循环。在IE上,出现“找不到标签”错误。以下内容在所有浏览器中均可正常运行:

<span onclick="foo:while (true) { alert('once'); break foo; }">Test</span>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5440143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存