加载HTML页面而不等待加载某些部分

时间:2013-09-18 20:20:59

标签: javascript jquery html performance loading

我有一个简单的HTML页面,其中包含许多部分,其中一部分

<div id="external_data">...</div>

从外部源渲染数据并加载。加载需要很长时间,因此页面的所有其他部分也会等到此部分加载完毕。

有没有办法使用jQuery或其他东西,将<div id="external_data">的内容设置为loading image并加载页面的其余部分而不依赖于那一部分?我如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

如果该div的内容在服务器端呈现并与页面的其余部分一起提供,那么您可以选择两个选项:

1)使用包含您提到的加载图形的div来提供页面,然后使用jQuery在页面加载时使用$ .post或$ .get加载div的内容。这样就可以在没有任何后端逻辑的情况下提供页面。

2)如果你不喜欢使用$ .post或$ .get,你可以在该div中放置一个iFrame,引用另一个具有div内容的页面。这将与页面分开加载,因此无法解决问题。但是,请注意iFrames在大小调整,边框等方面有时会在浏览器之间表现得很奇怪。确保您的代码在所有主流浏览器(主要是IE)中都经过测试,以确保它们在所有浏览器中看起来都很好。