内联javascript,'javascript:alert('asdf')'中的'javascript'是什么?

Mat*_*ant 3 javascript

我不编写内联javascript,但我在使用的代码库中一直看到并使用它:

<div onClick='javascript:alert("asdf");'></div>

我做了一些测试,发现在我的所有浏览器中,甚至在IE5模式下的IE,你可以javascript改为字面上的任何东西,并且alert会发射很好.

<div onClick='qwerty:alert("asdf");'></div>

什么是分隔符?它背后的历史是什么?它是否曾经需要或有用?我似乎记得那<script type="text/javascript">不是真的需要type属性集,是否与此相关呢?我尝试了一些谷歌搜索,但很难搜索.

mpl*_*jan 6

如果页面上的第一个脚本是VBScript, 那么它只是IE中需要的标签
如果你添加<script type="VBScript"></script>到(较旧的?)IE中,如果它们是特定于javascript的并且没有标签javascript,则后面的脚本将失败:告诉IE转回来

请参阅我的答案:JavaScript伪协议实际上做了什么?