因此,在我的页面中,我有一些小脚本,一旦您访问该网站,我实际上并不需要加载这些脚本,实际上用户在他们的整个会话中可能完全不需要它们。在需要时调用函数
另外,根据这个:http://code.google.com/speed/page-speed/docs/payload.html#DeferLoadingJS它也不是一个好的做法。
因此,例如,目前我有一切“当DOM准备”:
$(function() {
// most of the code of which is not needed
});
如果我不代码放在里面的DOM已准备就绪,在大部分的时间它不是可执行文件。所以我想为每个片段做独立的功能。
对于〔实施例:
function snippet1() {
// Code here
}
,然后当我需要一个片断,我需要用的时候点击鼠标加载它。 (不总是一个鼠标,取决于我需要加载)。
例如:
$('#button1').click(function() {
snippet1();
});
所以我的问题是:这是加载功能,异步,所以你减少网页加载时间或是否有更好的方式呢?我没有看过我的例子,我只是想到了它。
请注意,我知道异步加载,但这不是我的选择,因为我可以将所有功能合并到一个将被缓存的js文件中,所以页面加载时间将小于每次加载异步js文件。
嗨,谢谢你的回答。我知道所有的方法来最小化和减少加载时间。剩下的是解析时间。我的所有脚本都是异步加载,缩小,缓存在Akamai的CDN等等上。它只是我沉迷于加载时间和性能的人之一,我只是想尽一切办法。在所有的网页加载脚本在线(网页测试,yslow,谷歌的网页速度,我得到100/100或完整的A,我不慌张,我只是想解释说我知道很多东西)。我的实际页面甚至使用缓存清单。 – jQuerybeast 2012-01-13 14:30:39
我只是想了解是否有更好的做法,我不知道。 – jQuerybeast 2012-01-13 14:30:51
在这种情况下,您唯一的选择是分割脚本。由于浏览器将缓存它们,因此如果仅在2-3分割它们,这不会影响加载时间。事实上,这可能会有所帮助,因为未来的更改可能只会影响2/3脚本中的一个,所以浏览器不必重新加载所有内容。 – 2012-01-13 14:50:02