2011-07-12 52 views
3

我熟悉链接CSS与嵌入式和嵌入式对于可维护性和模块性的好处。不过,我已经读过,在某些web dev的移动应用程序中,嵌入甚至嵌入你的CSS可能是有益的(更快的性能)。 我会避免任何内联JS,并在较小程度上CSS,但我已经注意到许多网站包括丰富的谷歌网页,JS嵌入在页面的标题。嵌入式vs链接的JS/CSS

我的同事坚持总是链接到外部的js文件。我认为,如果函数特定于一个页面或每页略有不同,则嵌入js更有意义,以节省链接脚本的处理开销。

+0

很高兴看到“从不混合脚本和html”的口头禅灰心。有时候,在HTML中添加脚本(作为元素或处理程序)是有意义的,有时它不会。无论客户端可以执行什么脚本添加逻辑,服务器也可以这样做。其余的答复几乎涵盖了其中。 – RobG

回答

3

链接一个脚本招致一个额外的请求到服务器的形式小罚款。如果您保持内联,则不会提出此请求,根据情况您可能会获得更快的加载页面。这是有道理的内联代码,如果:

  • 它非常的小
  • 它dynamcally产生从那以后你就不会得到缓存的好处,反正

在谷歌的情况下,和Facebook最有可能看到内嵌JavaScript,因为它是由服务器端代码生成的。

2

链接的JS文件的优点是它们可以被浏览器缓存并从本地磁盘或后续页面的内存中加载。

内联JS的优点是每页可能有更少的网络请求。

最好的折衷方案通常是少量链接的JS文件(一个或两个),它们包含所有JS的最小化组合,因此它们被组合成尽可能少且尽可能小的文件。

获得本地缓存的好处远远超过了一些可能不会在某些页面上使用的JS的额外解析。

有意义的嵌入式JS(甚至大部分JS都在链接文件中)是包含特定于页面的状态的几个JS变量的设置。这通常会嵌入到页面的部分,因为它是在服务器上动态生成的,对于每个页面都不同,并且通常不可缓存。但是,这些数据通常应该很小并且特定于页面。

5

其他答案没有涉及的一件事就是开发者效率。如果更容易将其内联,并且没有立即的性能要求/关注,那么就这样做。真正的商业价值“简单”,并且胜过最终或不存在的性能问题。不要过早地优化。

+1

我迟到了一年以后才认同这一点。我通常会得到一些非常特定于页面的js,并且我发现在开发过程中一个大的单个js文件变得非常麻烦并且很难处理。最后,在网页底部的