为脚本标记提供ID

时间:2010-04-29 23:40:02

标签: html standards scripting

我遇到了一个方案,即script元素赋予id属性可以轻松解决问题。但是,在阅读w3schoolsquirksmode处的script元素后,似乎这样做可能会产生一些无法预料的后果。

有没有人遇到过Chrome,Safari,FF3和IE 7等浏览器的任何问题?

5 个答案:

答案 0 :(得分:90)

在所有当前浏览器中都很好。

<script id>唯一错误的浏览器是Netscape 4,我们很久很久以前就停止了关注。

这个quirksmode页面似乎已经过时了,它使用了language属性,脚本<!--隐藏和application/x-javascript。它关于在<script>中避免<body>(并将其放在<head>中)的建议与今天鼓励的做法不一致。

如果我们正在谈论<script>属性兼容性问题:defer无处不在,所以不要依赖它; charset无处不在,并且服务脚本的Content-Type上的charset参数也不起作用,因此您的脚本字符集最好与页面匹配; type应始终为text/javascript,而不是编写RFC 4329的学生希望您使用的非工作替代方案之一。

答案 1 :(得分:9)

请记住,在任何元素上设置id会引入一个与id属性同名的新全局变量:

id as a global variable

答案 2 :(得分:7)

如果你仍然需要支持Netscape 4,你会遇到很多麻烦 - 以及其他开发者世界的怜悯和哀悼。

简短回答,我不担心。

答案 3 :(得分:2)

通过向id元素添加script属性,我认为浏览器不会出现问题。

在我的一些网站上,通过JavaScript加载其他JavaScripts,我添加了class属性,以便更容易地引用它们。验证员没有抱怨。

答案 4 :(得分:2)

我知道很长一段时间过去了,但我觉得很高兴指出当你看W3 Schools definition of the script tag时,你会在某个时候看到

  

该标记还支持Global Attributes in HTML

在这些属性中,ta-da,你会找到你可爱的身份。

同样适用于大量标签,当从帽子中提取这些好玩法时,这肯定会给我们很大的灵活性。