2011-09-16 6 views
1

第三者が「document.write」機能の中に埋め込む広告タグを持っていますが、広告タグ自体にもdocument.writeが含まれているため動作しません。 document.writeの1つのインスタンス内にこの広告タグを押し込む方法はありますか?もしそうなら、私がこれを理解するのを手伝ってください。もしそうでなければ、代替案がありますか?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を直接使用することは正しい方法ではないと聞いています。私は通常、それが

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

のと同じくらい簡単ですjQueryの、などのフレームワークを使用して離れてこの種の問題を抽象化していますので、この方法は、私が正しく覚えていた場合は、insertNodeと呼ばれるが、私はわからないんだけどさ私は、私の仲間のSOメンバーの一部がこの投稿をより正確に作れることを願っています。

+2

彼の例ではjQueryの証拠がないので、 'document.getElementById( '#element')を使用してください。innerHTML = '';' –

関連する問題