2015-12-22 50 views
1

我在客户网站上工作。广告服务器脚本非常慢,但无法编辑。脚本内部包含一些文档写入部分和其他脚本。加载Adserver脚本,文档写入异步/延迟或页面加载后

为了提高速度,脚本应该是“推迟”,“异步”或“页面后加载完成”。脚本不能放在底部。

我尝试了很多解决方案,但都没有工作。我尝试过的所有东西都会导致脚本无法加载。 (客户实例AFID删除)

我做了什么:

jQuery的文件准备/获取脚本

$(document).ready(function() { 
    $.getScript("http://www35.glam.com/gad/glamadapt_jsapi.act?afid="); 
}); 

2. Java脚本绑定

$(window).bind("load", function() { 
    <script type="text/javascript" src="http://www35.glam.com/gad/glamadapt_jsapi.act?afid="></script> 
    <script> 
)}; 

3.添加延迟或异步

<script async type="text/javascript" src="http://www35.glam.com/gad/glamadapt_jsapi.act?afid="></script> 
<script> 

<script defer type="text/javascript" src="http://www35.glam.com/gad/glamadapt_jsapi.act?afid="></script> 
<script> 

4. jQuery的延迟加载

http://jqueryad.web2ajax.fr/ 
+0

我觉得**加载完成**就是做这个的最好方法。广告不是页面上的主要部分,因此可以最后呈现。 –

+0

我认为你的意思是你已经删除了这些例子的afid,而不是你的意思是你尝试过的技术没有发送给他们。另外,你的示例代码在2和3中包含太多的开放脚本标记,他们只是复制/粘贴错误? – Klors

+0

你能用一些随机的'afid'来提供你当前脚本的一个最简单的例子吗? – halfzebra

回答

0

你可以在易用的iframe中加载广告服务器脚本。

类似的东西:页面后

<script> 
(function(d){ 
    var iframe = d.body.appendChild(d.createElement('iframe')), 
    doc = iframe.contentWindow.document; 

    // style the iframe with some CSS 
    iframe.style.cssText = "position:absolute;width:200px;height:100px;left:0px;"; 

    doc.open().write('<body onload="' + 
    'var d = document;d.getElementsByTagName(\'head\')[0].' + 
    'appendChild(d.createElement(\'script\')).src' + 
    '=\'\/path\/to\/file\'">'); 

    doc.close(); //iframe onload event happens 

    })(document); 
</script>