Google Analytics(分析)跟踪代码导致Iframe-Resizer变慢?

问题描述:

我有动态内容的iframe中,需要一个页面上显示,我希望它尽可能快地显现。但是,在加载iframe的内容和在主页上调整iframe的大小之间似乎存在一些滞后。目前,iframe的初始尺寸是height = 0和width = 100%,这样当内容加载到iframe时,iframe-resizer会自动将其调整到正确的高度。Google Analytics(分析)跟踪代码导致Iframe-Resizer变慢?

然而,我注意到,如果在iframe中自动播放视频,我可以听到声音,只要在iframe前一分钟,将得到调整。在检查浏览器控制台时,我会看到iframe-resizer无响应的警告消息,但一分钟左右后,iframe会调整大小并显示内容。

我有一个谷歌分析的iframe内容中跟踪代码后发现,如果我删除它时,iframe的大小调整变得更加敏感和内容被加载更快。我怎样才能让iframe响应内部运行的谷歌分析跟踪代码?如何在GA脚本完成加载之前让iframe调整器工作?

而且,设置初始iframe高度为0,然后允许iframe的大小调整到尺寸的帧最初加载动态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隐藏起来。

+0

你必须向我们展示了iframe代码调整。我猜你已经把它设置为'onload',如果GA加载速度超慢,这确实会导致这种情况。 – ceejayoz

+0

@ceejayoz我编辑我的问题,包括一些代码。有没有一种方法可以在GA脚本完成加载之前调整iframe的大小或是否必须等到所有内容都加载完毕? – user1935733

+0

https://github.com/davidjbradshaw/iframe-resizer你正在使用的库? – ceejayoz

如果您只是托管在您的iFrame视频那么这可能为你工作好。

https://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php

与GA的问题是很奇怪的,你可以推迟运行它,如果它挡住了页面加载事件触发?