当前位置:  开发笔记 > 编程语言 > 正文

你是否需要在onclick中指定'javascript:'?

如何解决《你是否需要在onclick中指定'javascript:'?》经验,为你挑选了5个好方法。

AFAIK,您永远不需要在onclick中指定协议:

onclick="javascript:myFunction()"

onclick="myFunction()"

今天我在Google Anallytics的这篇文章中注意到他们正在使用它:


这个例子是完全错误的,还是有理由javascript:在除了a之外的任何东西中指定href



1> Ates Goral..:

这里的一些回复声称"javascript:"前缀是"过去的剩余",暗示它是故意的,由浏览器专门处理以实现向后兼容.是否有确凿证据证明是这种情况(有人检查过源代码)吗?

Test

对我来说,这只是作为:

javascript:
    alert(42);

意思是,"javascript:"只是一个标签,没有任何效果.这也有效:

Test

更新:

我做了一个小实验,事实证明,是的,"javascript:"是由IE专门处理的,但Firefox,Safari,Opera或Chrome绝对不是这样:

Test

在非IE上,这只会警告"一次",一次然后突然退出循环.在IE上,我收到"找不到标签"错误.以下适用于所有浏览器:

Test

更新2:

我刚刚在上面的一个答案中意识到链接http://crisp.tweakblogs.net/blog/the-useless-javascript-pseudo-protocol.html几乎都在谈论同样的事情.



2> I.devries..:

它永远不需要锚,永远不是好习惯.锚点仅用于导航.有关此主题的文章是无用的JavaScript:伪协议.



3> Steven A. Lo..:

在开始时,您也可以在Internet Explorer中使用VBScript而不是JavaScript,因此指定"javascript:..."是标准的.

今天,好吧,它没有受到伤害......将来可能总会有其他一些想成为浏览器的脚本语言.



4> Loki..:

请参阅指定脚本语言(在HTML 4.01规范,脚本中的18.2.2中).


该部分是否在`onclick`中说出了关于`javascript:`的内容?

5> jishi..:

我一直认为这是一个糟糕的用法,因为您可以使用前缀在URL中调用JavaScript javascript::


(Web表单,某人?)

只有无知的网络开发人员从未意识到事件声明和href声明之间的区别使用它.

我想说,即使事件属性在大多数情况下都是不好的做法,并且获取事件的首选方法是使用.attachEvent(Internet Explorer)和addEventListener(其他浏览器,像往常一样).

最后......谷歌并不总是全能的上帝.他们往往更关心的是,东西的工作原理不是一直遵循标准.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有