2012-03-08 69 views
0

我有一个网页,内容丰富,如图形和JavaScript。现在问题在于我的网页加载速度太慢,尤其是在网络连接速度较慢的情况下。现在我的网页底部有一个jQuery滑块,这是我网站上最不重要的项目。 现在... 有没有一种方法可以推迟或延迟加载整个滑块(它具有div ID作为父元素),直到其他所有内容都加载到我的页面上之后,而不是与其他更多重要内容?延迟元素的加载开始

+0

定义“其他一切都装在我的网页”。你指的是* $。ready *吗? – 2012-03-08 07:49:52

回答

1

当然,你可能想要查找javascript loader,如RequireJSLABjs

原理是你注入加载你的JavaScript的脚本标签。例如,你可以有下面的代码作为最后一个元素你</body> - 标记之前:

<script type='text/javascript'> 
var head = document.getElementsByTagName("head")[0];   
var newScript = document.createElement('script'); 
newScript.type = 'text/javascript'; 
newScript.src = 'url/to/script.js'; 
head.appendChild(newScript); 
</script> 
+0

我认为“头”元素是指包含我的JS滑块的div?因此,调用/加载滑块的脚本位于代码层次结构的底部(位于/ body标签的上方),这使得它在最后加载?实际上,'head'是指你的html文档的head标签。我想让它在所有其他东西都完全加载完毕后才开始加载 – DextrousDave 2012-03-08 09:36:09

+0

实际上,'head'是指你的html文档的head标签。将这最后一个放在身体标记中可确保最后解析滑块组件。 JavaScript解析后,浏览器将立即开始加载脚本,但它会将其异常地加载到任何剩余的对象中。 在滑块可以初始化之前是否需要加载某个组件? – flitig 2012-03-09 09:21:41

+0

我偶然发现了一篇关于[异步思考javascript]的CSS技巧的优秀文章(http://css-tricks.com/thinking-async/) – flitig 2012-03-09 10:37:02