2013-01-11 61 views
0

我的wordpress站點上的一些頁面/帖子變得相當長,我認爲側欄看起來很愚蠢,只是坐在那裏空白。另外,空白空間是失去宣傳的機會。所以,我想要做的是使用JavaScript來確定#main的高度,然後動態添加AdSense腳本,直到#sidebar的高度大致相等(意味着另一組廣告不適合)。動態地將AdSense添加到WordPress側邊欄

我已經確定瞭如何使用offsetHeight(我認識到這不會是完美的)來拉高div的高度,並且我理解運行do/while直到獨立divs的高度相等的邏輯。

Adsense代碼分爲兩部分。第一部分只是設置一些變量,第二部分調用一些代碼,我想使用第一部分的變量。 AdSense必須同時顯示廣告。如果兩者都出現超過一次,則廣告將不止一次顯示。我已經將第一部分代碼轉儲到單獨的.js文件中,所以現在我只需要弄清楚如何使用單獨的src屬性調用這兩個腳本。

我發現這個代碼,它適用於我的情況(我把它放在我的頭),但它不工作(無顯示):

var sidebar= document.getElementById('sidebar')[0]; 
var script1 = document.createElement("script"); 
script1.type = "text/javascript"; 
script1.src = "link/to/javascript/file.js"; 

var script2 = document.createElement("script"); 
script2.type = "text/javascript"; 
script2.src = "http://pagead2.googlesyndication.com/pagead/show_ads.js"; 

sidebar.appendChild(script1); 
sidebar.appendChild(script2); 

我嘗試了上面的代碼沒有[0],因爲我不認爲我需要它。這兩個選項都無效。

任何想法如何將我的這種做法呢?任何關於更好的方法來執行代碼的想法。

+0

'document.getElementById('sidebar')'返回一個DOM節點(或'null')。這不是一個數組。使用'[0]'將不正確。 – Halcyon

+0

這就是我的想法,所以我沒有[0]嘗試過,但也沒有奏效。 –

回答

0

通過JohnnyO給出的解決方案在這裏Dynamic Adsense Insertion With JavaScript

爲我工作得很好。 問題出在Google腳本中的document.write()方法。 在加載頁面後,write()方法不起作用。