网站开发的时候,经常用 iframe嵌套。
用的 <<table>>+<<iframe>>的方式。
开发方便,但是速度十分慢,尤其当ifame指向的页面很大的时候,
请问如何优化??提升加载的速度。
iframe会阻塞父页面的加载时间!!!
1.采用document.ready后,在给iframe设置src属性
2.采用虚拟滚动,当浏览器滚动条滚动至当前table时,在给iframe设置src属性,如果没有滚动条,在默认为ready(此效果有js插件)
页面中有iframe时会阻塞当前页面请求,必须iframe加载完成后,才能完成iframe后面的dom加载,
总得来说第二种方式比较好,技术稍稍复杂点但性能非常好,第一种方式不管用户有没有要看都要加载。
虚拟滚动,这个不是很了解,能不能给详细说明说明,推荐个博客也行。
@二十三号同学:
原理是当浏览器滚动条滚动至table显现的时候(要获取table的scrolltop,然后滚动条滚动事件中判断),才去加载iframe里的内容。
jquery.lazyload这个是图片的一个示例,可以自己写一个更轻量级的js用在你这个页面上
看看写js代码来加载src是不是有点改善,就是在window.onload
就是加载iframe的时候是在当前页面完毕以后
$(document).ready(
//在这写iframe的src值??
)
@二十三号同学: 可以试试 如果iframe中的src页面简单,是不是考虑直接放到主页面中
@chenping2008: 页面独立出来之后,比较好维护,好多情况里都有updatepanel.
在updatepanel中使用JS,各种惊喜啊! 怕了。。。
@二十三号同学: updatepanel 老早就放弃使用了,一直都是jquery ajax中
网站开发一般都是用 CSS+DIV,table 要全部加载完才显示,当然慢。
现在我想改成CSS+DIV,但是工作量太大了,投鼠忌器啊,短时间改不完。
有没有雨比较折中的办法?
iframe