-1

可能重复:
为什么用 document.write() 编写 <script> 标签时要拆分它?

我的网站上应该有一个 American Apparel 广告,在右侧栏中,在标题“Bloglovin”和“Twitter”之间。它似乎在 iphone/ipad 上运行良好,但它没有出现在我的计算机上的 Firefox 或 Safari 上。如果有人可以帮助我了解为什么会这样,将不胜感激。

http://www.lookbookcookbook.com/

我正在使用以下代码

<!-- JavaScript for Static HTML -->
<script type="text/javascript">
var mpt = new Date();
var mpts = mpt.getTimezoneOffset() + mpt.getTime();
document.write("<scri" + "pt type=\"text\/javascript\" src=\"http:\/\/altfarm.mediaplex.com\/ad\/js\/8975-64333-44152-3\?mpt=" + mpts + "&mpvc=\"><\/scr" + "ipt>");
</script>
 <noscript>
<a href="http://altfarm.mediaplex.com/ad/nc/8975-64333-44152-3">
<img src="http://altfarm.mediaplex.com/ad/nb/8975-64333-44152-3" 
alt="Click Here" border="0" />
</a>
</noscript>
4

1 回答 1

1

您正在使用 CloudFlare 的Rocket Script,这意味着您不能使用document.writedocument.write无论如何都不应该使用)。

你需要document.createElement改用。

var script = document.createElement('script');
script.src = "http://altfarm.mediaplex.com/ad/js/8975-64333-44152-3?mpt=" + mpts + "&mpvc=";
document.getElementsByTagName('head')[0].appendChild(script);

编辑:他们的脚本还包含一个document.write. 除非您关闭“Rocket Script”,否则您实际上无法在您的网页上使用此广告。

于 2012-05-11T15:28:41.360 回答