不赞成将javascript直接放在HTML文档上
Is placing javascript directly on HTML document deprecated?
我很震惊地从Quirksmode中读到以下内容:
不推荐:直接JavaScripts
由于第2C节中解释的原因,请勿使用直接JavaScripts这本书。本节仅因历史原因而保留。
最简单的方法是将脚本直接放置在页面中。怎样放置
<script language="javascript" type="text/javascript"> <!-- script goes here // --> </script>
根据我阅读本文的理解,将使用<script>
标记上的src
属性来包含javascript。我没有这本书,也找不到更多的网上参考资料。有人知道这是正确的吗?还是我误解了它想说的话?
没有HTML规范将内联JavaScript标记为弃用或过时。
然而,人们普遍认为这不是最佳实践。
PPK意味着该节本身已被弃用。在出版时,那里提出的建议被普遍接受并具有相关性,但它不再符合当前的标记语言和最佳实践:
- 自HTML 4.01以来,
language
属性已被弃用 - 在HTML5中,
type
属性的默认值是text/javascript
——因此,它通常可以被丢弃 - 围绕脚本本身的HTML注释(
<!--
和-->
)是IE 2和Netscape 1代浏览器的一种变通方法,近20年来一直不需要 - 稍后,他建议您将脚本放置在文档的
head
中。这在拨号时代是有道理的,但现在建议除了一些特定的情况(例如Modernizr、html5shiv)之外,您应该将脚本放在文档body
的端,以防止它们阻止渲染和并行下载
更多最新建议
通常避免内联脚本,以获得更好的可维护性和可缓存性。您仍然允许内联脚本,如果:
- 仅为该页面动态生成脚本;或
- 该脚本非常小,由于避免了额外的HTTP请求,您可以证明性能有了可衡量的、有价值的改进
除非另有必要,否则对内联JS使用以下语法。
HTML5:
<script>
// ...
</script>
HTML 4.01:
<script type="text/javascript">
// ...
</script>
XHTML5:
<script>
//<![CDATA[
// ...
//]]>
</script>
XHTML 1.x:
<script type="text/javascript">
//<![CDATA[
// ...
//]]>
</script>
它没有被弃用,而且它仍然被广泛使用。
如果你看看这个问题:https://softwareengineering.stackexchange.com/questions/86589/why-should-i-avoid-inline-scripting这很好地解释了为什么这是个坏主意。
我对它最大的问题是,它让你的html页面看起来塞满了东西。例如,如果您有一点javascript内联,而另一个文件中有一点javascript,那么如果需要更改,很难找到合适的代码。
内联css也是如此。它使您的html文件更难阅读和理解。
脚本标记不被弃用。
相关部分称为"弃用:直接JavaScripts",并且注释引用了章节的标题。必须阅读:不要对标记使用"Direct JavaScripts"建议语法。本节仅因历史原因而保留。"
该部分已弃用
http://www.peachpit.com/articles/article.aspx?p=1338952&seqNum=3
- HTML文档中脚本标记的位置-<头部>&<身体>有不同的行为
- 如何用javascript重写html文档
- 是否可以使用有角度的HTML文档进行$编译
- 如何确保通过电子邮件发送的html文档中的Google Drive链接不会被识别为附件
- 将jQuery.js文件附加到html文档中
- 为任意html文档创建不引人注目的覆盖
- 在HTML文档中使用XML文件中的数据
- 删除“;NaN”;来自HTML文档
- 显示“<script src='some.js'></脚本>"在Html文档中
- 如何通过JS在不干扰其标记的情况下更改HTML文档中字符串的所有实例
- 如果iframe在src(pdf或text)中有非html文档,则iframe中的onload不起作用
- 如何从 html 文档中调用 yahoo weather api javascript 函数
- c# mvc nreco HtmlToPdfConverter 问题将 html 文档转换为 pdf
- 访问 HTML 文档中的 HTML
- 使用 PHP 将 css/js 文件分配给 html 文档
- 将变量从服务器上的外部文件加载到 HTML 文档中
- 使用 ajax 将 HTML 文档附加到元素
- 如何将 HTML 文档作为起始值传递给 CodeMirror
- 如何在父 html 文档中访问嵌入的 html 文档的子级
- 无法将我的 html 文档连接到 jquery