在20世纪90年代,有一种将Javascript代码直接放入<a>href属性的方式,如下所示:
<a href="javascript:alert('Hello world!')">Press me!</a>
Run Code Online (Sandbox Code Playgroud)
然后我突然停下来看它.它们全部被以下内容取代:
<a href="#" onclick="alert('Hello world!')">Press me!</a>
Run Code Online (Sandbox Code Playgroud)
对于唯一目的是触发Javascript代码并且没有真正href目标的链接,为什么鼓励使用onclick属性而不是href属性?
AFAIK,您永远不需要在onclick中指定协议:
onclick="javascript:myFunction()" 坏
onclick="myFunction()" 好
今天我在Google Anallytics的这篇文章中注意到他们正在使用它:
<a href="http://www.example.com" onClick="javascript: pageTracker._trackPageview('/outgoing/example.com');">
Run Code Online (Sandbox Code Playgroud)
这个例子是完全错误的,还是有理由javascript:在除了a之外的任何东西中指定href?
什么是javascript:用于,是否合规,我应该使用它吗?
我注意到我的一些同事选择使用
javascript:
Run Code Online (Sandbox Code Playgroud)
后跟一些函数名称或一些javascript代码.但对我来说似乎没必要.
我在事件处理程序中看到了很多这样的东西
onclick="javascript: somefunction451();"
Run Code Online (Sandbox Code Playgroud)
此外,我无法搜索有关javascript的更多信息:因为它说我正在尝试跨站点脚本.特别是如果我把它粘在引号中.这件事根本无法修复吗?我应该只在闪存或仅银光浏览器中搜索吗?