3 回答
TA贡献1858条经验 获得超8个赞
javascript:事件处理程序上的伪协议将仅被忽略,您不需要它,JavaScript引擎将解释javascript:为Label Statement。
标签只是为语句提供标识符,并允许您在程序的其他位置引用它。
恕我直言,此伪协议仅对书签有用。
TA贡献1828条经验 获得超4个赞
正如其他答案所提到的,避免使用javascript:href链接,并且在事件处理程序属性中完全没有必要。但是,由于A标记有时在语义上仍然正确,因此,href如果您想将CSS样式:link和:hoverCSS样式应用于Internet Explorer中的元素,则需要在属性中添加一些内容。在这种情况下,请使用:
<a href="#" onclick="doSomething(); return false;">Link</a>
要么
<a href="javascript://" onclick="doSomething();">Link</a>
javascript协议存在一个(有点晦涩)错误-在Internet Explorer *中,单击链接时会认为您正在离开页面。如果您正在使用window.onbeforeunload,那么此时将显示您的导航信息。仅出于这个原因,我们已经完全停止使用javascript协议,因此不会显示此错误,因为在向某个页面添加导航信息时,我们忘记了对其进行检查。
*我第一次写这篇文章时可能已经指定了版本。我完全不记得了,但是以防万一该错误只出现在如今已绝大部分的浏览器(如IE 6或7)中,您最好自己进行测试。
添加回答
举报