将javascript直接放在HTML文档上是否已弃用?

时间:2013-11-28 09:57:40

标签: javascript

我很震惊地从Quirksmode阅读以下内容:

  

不推荐使用:直接JavaScripts

     

不要使用直接JavaScripts,原因在第2C节中说明   这本书。本节仅出于历史原因进行维护。

     

最简单的方法是将脚本直接放在页面中。怎么样   放置

<script language="javascript" type="text/javascript">
<!--

script goes here

// -->
</script>

根据我对阅读本文的理解,将使用src标记上的<script>属性来包含javascripts。我没有the book,也无法在网上找到进一步的参考资料。有谁知道这是正确还是我误解了它想说的是什么?

4 个答案:

答案 0 :(得分:4)

没有HTML规范将内联JavaScript标记为已弃用或已过时。

但人们普遍认为它不是最佳做法。

答案 1 :(得分:1)

它没有被弃用,它仍然被广泛使用。

如果你看一下这个问题:https://softwareengineering.stackexchange.com/questions/86589/why-should-i-avoid-inline-scripting很好地解释了为什么这是一个坏主意。

我遇到的最大问题是它会让你的html页面看起来很糟糕。例如,如果你有一些内联的javascript,以及另一个文件中的一些javascript,如果你需要更改它,很难找到合适的代码。

内联css也是如此。它使你的html文件更难阅读和理解。

答案 2 :(得分:1)

不推荐使用

脚本标记。

相关部分称为“不推荐使用:直接JavaScripts”,以及 该注释引用该部分的标题。必读: “请勿对标记使用”Direct JavaScripts“建议 句法。本节仅出于历史原因进行维护。“

该部分已弃用

http://www.peachpit.com/articles/article.aspx?p=1338952&seqNum=3

答案 3 :(得分:1)

PPK表示该部分本身已弃用。在那里提出的建议在发布时已被普遍接受和相关,但它不再与当前的标记语言和最佳实践保持一致:

  1. language属性为deprecated since HTML 4.01
  2. 在HTML5中,default value of the type attribute is text/javascript - 因此,它通常可以被丢弃。
  3. 脚本本身的HTML评论(<!---->)为a workaround for the IE 2 and Netscape 1 generation of browsers,近20年来一直未被要求。
  4. 后来他建议您将脚本放在文档的head中。这在拨号的时候是有道理的,但是现在建议在少数特定情况(例如Modernizr,html5shiv)之外,你应place scripts at the end of your document body阻止它们阻止渲染和并行下载。
  5. 更多当前建议

    Avoid inlining scripts in general以获得更好的可维护性和可缓存性。您仍然允许内联脚本,如果符合以下条件,则可能有意义:

    除非另有必要,否则请使用以下内联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>