2011-09-16 79 views
1

我有一個廣告標籤,第三方試圖在'document.write'函數內填充內容,但它不工作,因爲廣告標籤本身也包含document.write's。有沒有辦法在單個document.write實例中推廣這個廣告標籤?如果是這樣,請幫我弄清楚,如果沒有,是否有其他選擇?嵌套在document.write中的document.write

<script type='text/javascript'> 
var m3_u = 'http://this.that.com/adtag.js'; 
var m3_r = Math.floor(Math.random() * 99999999999); 
var category='999'; 

if (!document.MAX_used) 
    document.MAX_used = ','; 

document.write("<scr" + "ipt type='text/javascript' src='" + m3_u); 
document.write("?c=" + category +"&amp;b=Sampletag&amp;p=ptnr&amp;key=4984cc8f3064e22a4e29fb2b3b2e9cb5"); 
document.write('&amp;cb=' + m3_r); 

if (document.MAX_used != ',') 
    document.write("&amp;exclude=" + document.MAX_used); 

document.write(document.charset ? '&amp;charset=' + document.charset : 
(document.characterSet ? '&amp;charset=' + document.characterSet : '')); 
document.write("&amp;loc=" + escape(window.location)); 

if (document.referrer) 
    document.write("&amp;referer=" + escape(document.referrer)); 
if (document.context) 
    document.write("&context=" + escape(document.context)); 
if (document.mmm_fo) 
    document.write("&amp;mmm_fo=1"); 

document.write("'><\/scr" + "ipt>"); 
</script> 
+1

JavaScript和HTML5是現代編程的未來? – Jeff

回答

1

document.write通常是一個有害的方法,因爲它直接將內容插入文檔文件本身。你應該在你想插入代碼的地方編輯標記的innerHTML,儘管我聽說直接使用innerHTML也不是正確的方法。該方法被稱爲insertNode,如果我記得正確的,但我不知道,因爲我通常抽象掉使用框架如jQuery,它很簡單,只要

$("#myelement").html("<script>...</script>") 

這種類型的問題我希望我的一些SO成員能夠使這篇文章更加精確,我會自己看一些東西,但是concord這是我的快速回答。

+2

由於在他的例子中沒有jQuery的證據,所以使用'document.getElementById('#element')。innerHTML ='';' –