多个IFrame加载很慢,如何优化?

这个页面有多个Tab,每个Tab用一个IFrame加载URL,打开这个页面需要5秒以上,感觉很慢。度娘了很久,都没有找到合适的解决方案,请问下各位大神,如何优化IFrame的加载速度?(使用include方式加载html片段,会使这个页面更大,而且每个Tab中的ID还不能重复,所有没有使用这个方式)

image.png

评论区

JFinal

2020-10-09 23:04

iframe 相对来说是慢,但也可能是你 iframe 中的内容过多导致的

jfinal 马上要上线的 app & coffee 频道,其中的 jfinal-kit.js 项目中提供了一个 fill 交互模式,可以完全代替 iframe

明天上午注意过来看一下,正在录入最后一部分数据,马上要开放这个频道了

北流家园网

2020-10-10 08:11

@JFinal 购买了。看了下源码,跟我想像的不一样,跟你说的也不一样。
$.ajax({
url: url, data: data,
type: (data ? 'POST' : 'GET'),
cache: false, dataType: 'html',
error: function(ret) {alert(ret.statusText);},
complete: function() {if (loadingOptions) {ref.close();}},
// document.getElementById(...).innerHTML = ret; 不会执行返回值中的 js
success: function(ret) {$(container).html(ret);}
});

这个其实相当于$().load(url)方法,加载进来的html不能含有head,也只是一个html片段。

JFinal

2020-10-10 09:33

@北流家园网 你的每个 tab 可以用一个 kit.fill 来填充数据

如果你希望每个 tab 中的数据只是在浏览器中被 display: none 下次点击时不请求后端而是立即出来的话,可以参考 kill.fill 写一个 tab 方法,将 $(container).html(ret); 改成 $(container).after(ret);

jquery 的 after 方法会追加 html 片段,而 html(...) 会覆盖原有的 html 片段

注意追加完以后,将其它的 tab 通过 display:none 隐藏

热门反馈

扫码入社