2

我有一个广告标签,第三方正试图将其填充到“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>
4

1 回答 1

1

document.write 通常被认为是一种有害的方法,因为它直接将内容插入文档文件本身。您应该编辑要插入代码的标签的 innerHTML,尽管我听说直接使用 innerHTML 也不是正确的方法。该方法称为 insertNode,如果我没记错的话,但我不确定,因为我通常使用诸如 jQuery 之类的框架来抽象出此类问题,它就像

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

我希望我的一些 SO 成员可以使这篇文章更准确,我会自己查找一些东西,但认为这是我的快速回答。

于 2011-09-16T22:02:19.107 回答