我没有编写内联javascript,但我在使用的代码库中一直看到并使用它:
<div onClick='javascript:alert("asdf");'></div>
我做了一些测试,发现在我的所有浏览器中,即使是在IE5模式下的IE,你也可以将javascript
更改为任何内容,而alert
将会正常启动。
<div onClick='qwerty:alert("asdf");'></div>
那个分隔符是什么?它背后的历史是什么?它是否曾经需要或有用?我似乎记得<script type="text/javascript">
并不真正需要type
属性集,是否与此相关?我尝试了一些谷歌搜索,但很难搜索。
答案 0 :(得分:6)
如果页面上的第一个脚本是VBScript,那么IE中只需要label
如果你将<script type="VBScript"></script>
添加到(较旧的?)IE中,如果它们是特定于javascript的并且没有标签javascript:以告诉IE切换回来,那么后面的脚本将会失败
请在此处查看我的回答:What does the JavaScript pseudo protocol actually do?
答案 1 :(得分:2)
一般来说,它只是一个标签,类似于:
label:
statement;
这就是为什么qwerty:alert("asdf")
有效,因为它是合法的Javascript。
IE确实以不同方式处理此问题;您可以在this answer中找到更多详细信息。
相关答案和链接: