代码之家  ›  专栏  ›  技术社区  ›  Dave Archer

有什么好的理由让javascript内联吗

  •  5
  • Dave Archer  · 技术社区  · 15 年前

    我在建一个工地。在某个阶段,我注意到IE的显示有点破损,而Chrome除了身体标签(空的)外,几乎什么都没有呈现,FF看起来也不错。

    我把键盘扔到房间里,头撞在鼠标上,发现了这个问题。我离开(不要问是怎么回事,为什么,一定是闪电般的速度剪切和粘贴错误)一个HTML注释在一个内联脚本块中没有关闭。

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

    我猜想(未测试)如果脚本是外部的,问题可能不会出现,或者以更明显的方式表现出来。所以,不管怎样,我想,有没有一段时间你真的有很好的理由来写内联脚本??

    9 回复  |  直到 15 年前
        1
  •  9
  •   Matthew Groves    15 年前
        2
  •  4
  •   Kenan Banks    15 年前

    如果您希望您的javascript尽早运行,它 可以 包含内联javascript是有意义的,因为它将在任何其他HTTP请求必须完成之前运行。

    在某些情况下,您包含了来自第三方提供商的javascript,并且您没有真正的选择。某些广告系统,以及谷歌分析,突然出现在脑海中。

        3
  •  2
  •   Joel Martinez    15 年前

    如果必须动态生成脚本(例如通过php或asp.net mvc页),则将其内联的一个原因是:-)

        4
  •  2
  •   futureelite7 Adam Rosenfield    15 年前

    取决于你打算写多少JS。如果您正在编写许多支持例程(许多验证检查、文本处理、动画和效果),那么将代码放在单独的文件中是有意义的。这允许代码重用,并从HTML页面中删除大量垃圾。

    另一方面,不需要在一个单独的文件中放置10行代码,或者一个函数(需要刷新JS)。它的加载速度也会稍快一些,因为浏览器不需要进行额外的HTTP请求来下载单独的JS文件。

        5
  •  0
  •   Josef Pfleger    15 年前

    大多数XSS漏洞只能使用内联JavaScript进行攻击。

        6
  •  0
  •   stevedbrown    15 年前

    原因不一定足够,但页面加载速度会更快。为此,有时甚至当您将脚本写到另一个文件中时,您希望它在客户端显示为内联。

        7
  •  0
  •   jeroen    15 年前

    我有时会将javascript内联放置在部分重新加载的页面(例如,将某些事件绑定到新添加的表单字段)和/或使用某些我不会在任何其他页面上使用的独特javascript的页面中。

        8
  •  0
  •   Travis    15 年前

    拥有许多外部脚本最终会降低页面速度,因为浏览器必须单独调用每个文件。将javascript组合到一个文件或页面本身有时可以缓解这个问题。

    另一方面,我相信一旦第一次调用脚本文件,浏览器可能会缓存它,所以如果您的站点中有很多相同的代码,那么外部代码就是解决问题的方法。

        9
  •  0
  •   cwallenpoole    15 年前

    我在一个叫做flex的东西上做了很多工作,它结合了XML和actionscript来创建最终的字节码。它是 总是 尽可能将两者分开的最佳实践。这样,您就可以非常清楚和容易地将视图(在我的例子中是HTML或MXML)与控制器(脚本)分开。

    它还意味着您不必担心在五个文件中查找一行代码——您的所有代码都在一个位置。