我遇到了一个方案,即script
元素赋予id
属性可以轻松解决问题。但是,在阅读w3schools和quirksmode处的script
元素后,似乎这样做可能会产生一些无法预料的后果。
有没有人遇到过Chrome,Safari,FF3和IE 7等浏览器的任何问题?
答案 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)
答案 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,你会找到你可爱的身份。
同样适用于大量标签,当从帽子中提取这些好玩法时,这肯定会给我们很大的灵活性。