为脚本标记一个ID

我遇到了一个script元素的id属性将轻松解决问题的情况。 然而,在阅读了w3schools和quirksmode的script元素之后,似乎这样做可能会有一些无法预料的后果。

浏览器有没有人遇到过这些问题,比如Chrome,Safari,FF3和IE7?

目前所有的浏览器都没问题。

唯一一个得到<script id>错误的浏览器是Netscape 4,很久很久以前我们就不再关心了。

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

如果我们正在谈论<script>属性兼容性问题: defer不能到处工作,所以不要依赖它; charset在任何地方都无法正常工作,所提供的脚本的Content-Type上的charset参数也没有,所以你的脚本charset最好匹配页面; type应该始终是text/javascript而不是写作RFC 4329的学者会使用的非工作替代方法之一。

如果您仍然需要支持Netscape 4,那么您将遇到很多麻烦 – 以及开发者世界其余部分的遗憾和哀悼。

简单的答案,我不会担心。

我不认为浏览器会通过添加一个id属性到script元素有问题。

在我的一些网站上,通过JavaScript加载额外的JavaScript,我已经添加了一个class属性,使其更容易引用。 validation者没有投诉。

我知道很长一段时间过去了,但是我认为很高兴指出,当你看看W3学校对脚本标签的定义时 ,你会发现在某些时候

该标签还支持HTML中的全局属性 。

在这些属性中,ta-da,你会发现你可爱的身份证。

对于很多标签也是如此,从帽子中拽出这些好玩的技巧,肯定会给我们很大的灵活性。

请记住,在任何元素上设置id引入一个与id属性具有相同名称的新全局variables:

ID作为一个全局变量