我有一个内含动态内容的iframe,需要在页面上显示,我希望它尽快显示出来。但是,在加载iframe的内容和在主页上调整iframe的大小时之间似乎存在一些延迟。目前,iframe的初始尺寸是height =0和width = 100%,因此当内容加载到iframe中时,iframe- so会自动将其调整为正确的高度。
但是,我注意到如果iframe中有自动播放视频,在iframe调整大小之前,我可以听到长达一分钟的音频。当检查浏览器控制台时,我会看到iframe-resizer没有响应的警告消息,但大约一分钟后,iframe会调整大小,内容将会显示出来。
我在iframe内容中有一个谷歌分析跟踪代码,并注意到如果我删除它,iframe-resizer的响应速度会更快,内容加载速度也会更快。如何让iframe响应在其中运行的google分析跟踪代码?如何在GA脚本完成加载之前让iframe-resizer正常工作?
另外,将初始iframe高度设置为0,然后允许iframe - size调整框架大小,这是最初加载动态iframe内容的正确方式吗?
编辑(添加代码):下面是我在主页上运行的代码
var hzframe = iFrameResize({
checkOrigin: false,
initCallback: function(){
var x = document.getElementsByClassName("hzload");
var i;
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
},
resizedCallback: function() {
var x = document.getElementsByClassName("hzload");
var i;
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
}
},".hzframe");如果你想看到整个过程,你可以查看这个jsfiddle
目前,我有相同的代码来隐藏initCallback和resizedCallback中的加载gif,因为gif并不总是被initCallback隐藏。
发布于 2017-11-09 02:43:12
如果你只是在你的iFrame中托管一段视频,那么这对你来说可能更好。
https://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php
GA的问题非常奇怪,如果它阻塞了页面加载事件的触发,你能推迟它的运行吗?
https://stackoverflow.com/questions/46592522
复制相似问题