2009-02-25 59 views

回答

10

我知道唯一的缺点是需要额外的HTTP请求。只要Javascript被两个页面使用或者页面被同一用户重新加载,这个缺点就会消失。

2

请他们定义“玩得好”。除了更好的逻辑组织,外部js文件在被缓存时不必传输。

我们使用YUI compressor在执行生产/临时构建时自动缩小和组合外部脚本。

5

一个是,浏览器不能缓存JS,如果它在页面中。如果您在外部引用它,则浏览器将缓存该文件,并且不会在每次点击页面时重新下载该文件。嵌入它只会增加每个页面的文件大小。

还要记住可维护性。如果它是常见的JS,那么当你需要更新X个HTML文件的脚本块而不是一个JS文件时,更改会更加痛苦。

我个人从未遇到外部文件vs嵌入式的问题。我只有在HTML中拥有JS的时候,我有一些东西要绑定在专门为该页面的文档加载上。

1

我知道的唯一缺点是必须对服务器进行另一个请求才能检索外部JS文件。正如之前所说的,你可以使用YUI压缩机这样的工具来减少这种影响。

然而,优点是你可以保留所有的JS代码在一个单独的更可维护的格式。

1

外部javascript的另一个巨大优势是能够使用Jslint来检查您的语法。这增加了缩小,组合和缓存外部脚本的能力,这使得内部javascript看起来是一个糟糕的选择。

3

缓存既是一个专业人士,也可能是一个骗局,如果你没有正确处理它。

pro是显而易见的,因为它可以改善页面加载过程中的每一页加载。

con是当你释放新的代码时,它仍然可以被用户的浏览器缓存,所以他们可能不会得到更新。这可以通过更改js文件的名称轻松解决。我们使用文件的时间戳自动对我们的js进行版本化,然后通过在我们的Web服务器上配置(mod_rewrite,Apache)来确保指向Web请求中的创建文件。