2015-12-22 51 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>