Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检测页面是否由于第三方Java脚本而变慢?_Javascript - Fatal编程技术网

Javascript 如何检测页面是否由于第三方Java脚本而变慢?

Javascript 如何检测页面是否由于第三方Java脚本而变慢?,javascript,Javascript,对于我们这些经营内容网站和处理广告网络的人来说,打击恶意或有故障的流氓广告可能令人沮丧 我有一个网站,里面嵌入了很多Youtube和Dailymotion视频。每隔一段时间,就会出现一则糟糕的广告,让视频播放变得断断续续。我总是在个案的基础上处理这些问题。但是,有没有办法检测(使用javascript)页面是否慢 在我看来,一个非常粗糙的方法是以100ms运行设置间隔。如果它在一个时间间隔内检测到一个大的延迟,则相应地采取行动 还有其他更优雅的方法吗?第一种方法,如果你的慢度在加载,为广告创建占

对于我们这些经营内容网站和处理广告网络的人来说,打击恶意或有故障的流氓广告可能令人沮丧

我有一个网站,里面嵌入了很多Youtube和Dailymotion视频。每隔一段时间,就会出现一则糟糕的广告,让视频播放变得断断续续。我总是在个案的基础上处理这些问题。但是,有没有办法检测(使用javascript)页面是否慢

在我看来,一个非常粗糙的方法是以100ms运行设置间隔。如果它在一个时间间隔内检测到一个大的延迟,则相应地采取行动


还有其他更优雅的方法吗?

第一种方法,如果你的慢度在加载,为广告创建占位符,并在所有其他方法之后最后加载它们

第二种方法,创建一个Javascript计时器或包含一个计时器库来测量页面加载时间。如果它大于您可接受的阈值,则使用Javascript终止该广告,或将慢度记录到web服务

第三种方法是,如果计时器没有检测到慢度,因为它是增量的,那么使用setTimeout函数,该函数记录时间戳并每200ms调用一次,并将每次调用的新时间戳与以前调用的旧时间戳进行比较

如果设置为以200ms运行的setTimeout调用最终需要500ms才能运行,那么您将有很大的延迟,应该使用Javascript终止该广告,或者将慢度记录到web服务中


这些方法中的每一种都需要根据您的实际站点进行调整。

我今天刚刚在一个名为Techsnap的播客上听到,一家广告公司的员工说,他们故意降低页面加载速度,以获得更长的显示时间。。。赚更多的钱。所以是的,广告,特别是flash广告,这就是为什么我完全禁用了flash,而且一切都很好。@ppumkin哇,这是我认为网络广告领域需要进行一场革命的众多原因之一。太多的可开发区域。最近,我不得不处理一个奇怪的流氓广告,它禁止页面滚动和右键点击…是的。。。flash是0天攻击或未修补浏览器中攻击的主要来源。。。问题在于,闪存没有替代品:(adobe正在以惊人的低速度发布补丁,并威胁white hat研究人员采取法律行动进行逆向工程,并免费向adobe提供补丁。这对苹果来说是一个好处,他们解决了问题并禁止flash……但缺点是他们不想分享。谷歌和Firefox是唯一积极开发flash的公司。)我喜欢Flash…但它需要很长时间,而且有很多问题。Chrome从2015年9月1日开始屏蔽Flash广告。好消息…首先是YouTube,现在是广告…我喜欢谷歌…其他人仍然假装Flash没有问题…如果广告是从Flash加载的,javascript不会检测到“慢度”因为javascript引擎仍在毫无延迟地运行……他们在flash中加入的另一个垃圾会使UI在另一个javascript无法访问的进程中缓慢停止。flash需要很快消亡,很快flash广告可能不会对javascript引擎产生压倒性的影响,但如果广告导致了网页的其余部分o chug由于一个完整的浏览器,javascript定时器会显示它的速度变慢。我真的很想测试一下……因为根据我的经验,操作系统的滞后一般不会影响浏览器进程(内存空间进程)…因为它们的优先级不同。Chrome有一些不错的性能测试工具。见鬼,你可以编写一个flash性能测试仪…:)监控用户计算机的CPU使用情况并将其转储到服务中…哇,这是现代世界中flash的一个实际使用案例:)不过你可能会遇到同样的问题。如果慢度是图形化的,而不是特定的闪存引擎问题,则即使广告不好,闪存性能测试也可能表现良好:(