好的,我知道为了提高效率,将所有页面Javascript合并到一个外部文件中是很明显的,但这并不是问题所在。
假设我有一个搜索字段的Default.htm,该字段附带了一些Javascript魔法。然后,我有一个Contact.htm与一个联系形式,有一些Javascript魔术附加到它。最后,我有一个FAQ.htm和一些jQuery面板显示答案..。你能拍到照片。
基本上,我有三个页面,它们都有“一些”javascript所需的内容,但是其他任何页面都没有使用Javascript。
最好将所有的Javascript合并成一个很小的文件,然后加载一次,然后存储在Cache中,还是最好在默认页面上使用单独的Javascript文件,而不是在联系人页面上使用.等?
在这种情况下,什么是最有效的?
备选方案:1
Default.htm
jquery.js
default.js Contact.htm
jquery.js
contact.js Faq.htm
jquery.js
faq.js
备选方案:2
Default.htm
jquery-default-contact-faq-min.js
Contact.htm
jquery-default-contact-faq-min.js
Faq.htm
jquery-default-contact-faq-min.js
PS:对于所有的asp.net家伙,我使用梳子组合,缩小,和版本我的Javascript文件
发布于 2010-09-07 06:08:34
我绝对会投票把它们结合起来。如果您关心“未使用”Javascript的解析或设置时间,那么我建议使用闭包中的每个文件构造Javascript,然后在需要它们的页面上运行所需的闭包。例如:
// File 1
window.closures = window.closures || {}
window.closures["page1"] = (function() {
  // Javascript for Page 1
});
// File 2
window.closures = window.closures || {}
window.closures["page2"] = (function() {
  // Javascript for Page 2
});    
// File 3
window.closures = window.closures || {}
window.closures["page2"] = (function() {
  // Javascript for Page 2
});然后,在你的页面中:
<!-- This one combined.js file will be downloaded once and cached //-->
<script type="text/javascript" src="combined.js"></script>
<script>
  // Run the Javascript in your combined.js intended for page2
  window.closures["page2"]()
</script>发布于 2010-09-07 04:51:29
合并成一个文件。让它被缓存。它在任何页面上加载一次,对于以后的任何页面,它都可以使用缓存的副本。
发布于 2010-09-07 05:03:11
它总是平衡HTTP请求的数量,限制尚未真正需要的传输字节。
有三种可能性:
。
通过进行A负载测试,您将只知道什么是对您的情况最好的。
一切取决于传输数据的大小、所需功能的重叠以及需要某些功能的可能性。
https://stackoverflow.com/questions/3655735
复制相似问题