2011-11-19 19 views
3

我想包含通過javascript生成的第三方來源的廣告代碼,其中document.writes顯示廣告的代碼。我無法控制這一點。 我有我的工作結束,但對於我的生活,我不能讓這個中心在我的DIV。這就像它在我的div之後破滅並且一致。我無法理解發生了什麼事。 「如果」我將此廣告標記直接包含在DIV內的頁面中,它將居中。但是我需要在請求廣告之前動態傳遞一些數據,所以我必須動態創建它,但這是問題。它顯示,剛好在目標DIV的左側對齊。從第三方動態插入JavaScript廣告標記不會集中在div中?

所以,我給了一個帶有src的js標籤,並且src生成了一個寫出iframe的document.write

var js_src = ("contents_of_the_src").gsub(/tie=/,'tie=' + random10_digit) 
var js_script = new Element('script',{'src': js_src}); 
Event.observe($('myDiv'), 'load', $('myDiv').insert({top : js_script})); 

所以問題的看法是這樣的:

<div id="myDiv"> 
<script language="text/javascript"> 
var js_src = ("contents_of_the_src").gsub(/tie=/,'tie=' + random10_digit) 
var js_script = new Element('script',{'src': js_src}); 
Event.observe($('myDiv'), 'load', $('myDiv').insert({top : js_script})); 
</script> 
</div> 

我已經試過移動JS出來的div,之後,並嘗試插入即可。我試着創建一個新的DIV,並將它寫入到廣告標籤中。所有左對齊,並在DIV之外。

任何想法/

回答

0

你試過給人的位置#myDiv iframe的CSS屬性:相對的;顯示:塊;和保證金:汽車? iframe元素的默認{display:inline}樣式可能會導致您的定位問題。

如果這不起作用,您確定Prototype是否將您的腳本元素插入DOM,就像您期望的那樣?您是否介意檢查元素檢查器以確認文檔中iframe正在寫入的位置?

+0

我發佈的代碼在進行其他測試後無法使用。由於AD代碼 - 這是一個具有特定源代碼的腳本標記。這個源代碼在document.writes中引入了一些代碼。不幸的是我不能在頁面加載後進行document.write。我需要傳遞一個參數名稱/值到src中,以便在它啓動之前它需要它。這是造成我相信的問題。我嘗試動態地創建腳本標記與我需要傳遞的附加參數...等等,並沒有任何返回。 –

+0

嗯......我認爲你的問題可能是由document.write對主動加載頁面的需求造成的,它與div的「加載」事件實際上只是body元素的「onload」事件的擴展衝突。也許如果你放棄了在瀏覽器遇到它們時立即觸發的本地方法的高級Prototype方法,只需在目標div的結束標記之後調用腳本創建代碼,並使用本機myDiv .insertBefore()來替換你的Prototype event.observe()。 – Aaron