我有一个广告代码,第三方试图填充'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 +"&b=Sampletag&p=ptnr&key=4984cc8f3064e22a4e29fb2b3b2e9cb5");
document.write('&cb=' + m3_r);
if (document.MAX_used != ',')
document.write("&exclude=" + document.MAX_used);
document.write(document.charset ? '&charset=' + document.charset :
(document.characterSet ? '&charset=' + document.characterSet : ''));
document.write("&loc=" + escape(window.location));
if (document.referrer)
document.write("&referer=" + escape(document.referrer));
if (document.context)
document.write("&context=" + escape(document.context));
if (document.mmm_fo)
document.write("&mmm_fo=1");
document.write("'><\/scr" + "ipt>");
</script>
答案 0 :(得分:1)
document.write经常被认为是一种有害的方法,因为它直接将内容插入到文档文件本身中。您应该编辑要插入代码的标记的innerHTML,尽管我听说直接使用innerHTML也不是正确的方法。这个方法叫做insertNode,如果我没记错的话,但是我不确定,因为我通常使用jQuery之类的框架来抽象这类问题,它就像
一样简单。$("#myelement").html("<script>...</script>")
我希望我的一些SO成员可以更精确地发布这篇文章,我会自己看一些东西,但这是我的快速回答。