gpt4 book ai didi

javascript - 修复了在 IE 中定位广告的问题

转载 作者:可可西里 更新时间:2023-11-01 02:24:39 25 4
gpt4 key购买 nike

可以跳到编辑以获得更新的解释。

我似乎无法将通过 document.write() 写出的广告设置到固定位置。它在除 IE 之外的所有其他浏览器中工作正常,包括 IE9。

这是一个例子:http://htinteractive.com/bottom_bar/demo.html

如有任何建议,我们将不胜感激。我的想法用完了。

谢谢。

编辑:

我已将问题缩小到我遇到的以下 IE 问题。为了简化它...

<style type="text/css">
#temp1
{
position:fixed;
bottom:0;
height:100px;
width:100px;
border:solid 2px red;
}
</style>

<!--WORKS IN IE-->
<div id="temp1">
<script type="text/javascript">
document.write("<scr" + "ipt type=\"text/javascript\">\nif(typeof(cachebuster) == \"undefined\"){var cachebuster = Math.floor(Math.random()*10000000000)}\nif(typeof(dcopt) == \"undefined\"){var dcopt = \"dcopt=ist;\"} else {var dcopt = \"\"}\nif(typeof(tile) == \"undefined\"){var tile = 1} else {tile++}\ndocument.write('<scr'+'ipt src=\"http://ad.doubleclick.net/adj/shz.bloomington/home;pos=728x90_1;' + dcopt + ';tile=' + tile + ';sz=728x90;ord=' + cachebuster + '?\"></scr'+'ipt>');\n</scr" + "ipt>");
</script>
</div>


<!--FAILS TO FIX POSITION IN IE-->
<script type="text/javascript">
document.write('<div id="temp1">');
document.write("<scr" + "ipt type=\"text/javascript\">\nif(typeof(cachebuster) == \"undefined\"){var cachebuster = Math.floor(Math.random()*10000000000)}\nif(typeof(dcopt) == \"undefined\"){var dcopt = \"dcopt=ist;\"} else {var dcopt = \"\"}\nif(typeof(tile) == \"undefined\"){var tile = 1} else {tile++}\ndocument.write('<scr'+'ipt src=\"http://ad.doubleclick.net/adj/shz.bloomington/home;pos=728x90_1;' + dcopt + ';tile=' + tile + ';sz=728x90;ord=' + cachebuster + '?\"></scr'+'ipt>');\n</scr" + "ipt>");
document.write('</div>')
</script>

无论如何,我真的需要第二种方法来工作,我正在努力想弄清楚如何做。

谢谢。

最佳答案

也许 IE 需要在编写脚本元素之前结束 temp1 DIV:

<script type="text/javascript">
document.write('<div id="temp1"><' + '/div>');
document.write("<scr" + "ipt type=\"text/javascript\">\nif(typeof(cachebuster) == \"undefined\"){var cachebuster = Math.floor(Math.random()*10000000000)}\nif(typeof(dcopt) == \"undefined\"){var dcopt = \"dcopt=ist;\"} else {var dcopt = \"\"}\nif(typeof(tile) == \"undefined\"){var tile = 1} else {tile++}\ndocument.write('<scr'+'ipt src=\"http://ad.doubleclick.net/adj/shz.bloomington/home;pos=728x90_1;' + dcopt + ';tile=' + tile + ';sz=728x90;ord=' + cachebuster + '?\"></scr'+'ipt>');\n</scr" + "ipt>");
</script>

编辑(回应您的评论):

由于您希望将广告脚本放入 div 中,因此您必须将 document.write 放在一边并以编程方式创建脚本,因此您只需调用 appendChild将其放入 div 中:

<script type="text/javascript">
document.write('<div id="temp1"><' + '/div>');
if(typeof(cachebuster) == "undefined") {
var cachebuster = Math.floor(Math.random() * 10000000000);
}
if(typeof(dcopt) == "undefined") {
var dcopt = "dcopt=ist;";
} else {
var dcopt = "";
}
if(typeof(tile) == "undefined") {
var tile = 1;
} else {
tile++;
}
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://ad.doubleclick.net/adj/shz.bloomington/home;pos=728x90_1;"
+ dcopt
+ ";tile=" + tile
+ ";sz=728x90;ord=" + cachebuster + "?";
divTemp.appendChild(script);
</script>

请注意,我不能 100% 确定我在重新格式化脚本时没有输入错误,所有这些转义序列...

关于javascript - 修复了在 IE 中定位广告的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7559162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com