Javascript脚本阻止等待脚本加载(PantherAds)

时间:2012-01-28 15:46:34

标签: javascript timeout

好吧,我最近进入PantherAds并将我的广告脚本放在我的网站上。但是我发现当我的网站上的Pantherads的脚本(/ iframe)没有加载时,我的网站的其余部分也没有加载。换句话说:它正在等待Pantherads完全加载,然后它将继续加载我网站的其余部分。现在我要做的是确保它同时加载页面的其余部分,以便在PantherAds脚本未加载时我的网站不会受到打扰,或者我想设置超时对于Pantherads剧本。例如。如果它没有在5秒内加载,那么就跳过它。

有谁知道怎么做?或者任何人都可以帮我解决这个问题?非常感谢!

提前致谢。

最诚挚的问候。

更新 这是Pantherads剧本:

<script language="javascript" type="text/javascript" src="http://pantherads.com/ads/CODEHERE"></script>

据说使用iframe来展示广告。

3 个答案:

答案 0 :(得分:2)

有3种不同的解决方案:

  • 将“async”属性添加到脚本声明中(
  • 添加“defer”属性。所有浏览器都支持它(即使是IE5)。我将延迟脚本执行,直到主体没有被完全解析/渲染。
  • 在页面结尾之前放置脚本(由Jashwant建议)

P.S。如果我是你,我会审查所有脚本的整个执行/优先级映射,将其中一些(主要是Google分析和类似)放到异步模式。 JQuery外部脚本推迟等等。你可能会大幅提速。

答案 1 :(得分:1)

在关闭<script> </script>代码之前添加PantherAds的</body>代码。

只有在加载页面后才会加载。

答案 2 :(得分:1)

Google和其他许多人使用以下JavaScript代码段来执行JavaScript文件的异步加载;只需将以下代码添加到您网页上的script块中即可:

(function() {
    var s = document.createElement('script');
    s.type = 'text/javascript';
    s.async = true;
    s.src = 'http://pantherads.com/ads/CODEHERE';
    var x = document.getElementsByTagName('script')[0];
    x.parentNode.insertBefore(s, x);
})();