2012-11-20 112 views
1

我有一些代碼,它會延遲我的網站的一般頁面加載,它包含在頁面的最頂端(廣告是特定的,跟蹤腳本有時會慢到完全) 這些廣告加載緩慢推遲其他JS腳本/效果/功能的工作,直到他們完成..例如滾動條/滑塊等等Javascript divider中的內容延遲加載

我想知道的是,什麼是加載內容到這些特定的div元素的代碼可能是在頁面加載後? (編輯:更改爲只問時頁面的其餘部分被加載,以ammend到下面的評論)

(我見過的代碼,這種類似的樣品..但從來沒有完全得到它正確的函數)

這原代碼

<div id="ad-header"><script type='text/javascript' src='http://url.com'></script> 

然後試圖改變到,並改變我不斷都在做它的工作是不成功的。需要將廣告加載到廣告標題ID現貨

var delay = 3000; 
setTimeout(
    function() 
    { 
     var oScript; 
     oScript = document.createElement("script"); 
     oScript.type = "text/javascript"; 
     oScript.src = "http://url.com"; 
     document.body.appendChild(oScript); 
    }, 
    delay 
); 
+1

您需要'load'事件偵聽器來確保文檔在您修改之前已被加載。如果仍然有必要,您可以開始超時。 – PointedEars

+0

@PointedEars提出了一個很好的觀點。你真的需要延遲2秒或延遲它們,直到頁面加載足夠好嗎? – 2012-11-20 18:31:11

+0

延遲它,直到頁面的其餘部分將工作好,我會想。我怎麼能這樣做呢?它是類似的還是JS的完整變化? –

回答

0

相反的document.body.appendChild(oScript);你應該做document.getElementById('ad-header').appendChild(oScript);

你的代碼的其餘部分看起來是正確的,因爲它是。

+0

該方法*不正確。這裏有一個競爭條件,實際上你的建議會讓情況變得更糟。 – PointedEars