在innerHTML中加载javascript
如何将javascript加载到innerhtml中并执行脚本,我的脚本没有警报hello world,而是一个嵌入openx的代码 代码1。这是我的原始代码,此代码将显示横幅:在innerHTML中加载javascript,javascript,Javascript,如何将javascript加载到innerhtml中并执行脚本,我的脚本没有警报hello world,而是一个嵌入openx的代码 代码1。这是我的原始代码,此代码将显示横幅: <!DOCTYPE html> <html> <head> </head> <body> <div id="banner"> <script type='text/javascr
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="banner">
<script type='text/javascript'>
<!--//<![CDATA[
var m3_u = (location.protocol=='https:'?'https://203.130.226.231/advediax/www/delivery/ajs.php':'http://203.130.226.231/advediax/www/delivery/ajs.php');
var m3_r = Math.floor(Math.random()*99999999999);
if (!document.MAX_used) document.MAX_used = ',';
document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
document.write ("?zoneid=1");
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>
</div>
</body>
</html>
代码2。这是我的转换代码。但不工作,我想工作显示横幅作为代码在上面:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
function getstring(){
var mystring = '<!--//<![CDATA \nvar m3_u = (location.protocol=="https:"?"https://203.130.226.231/advediax/www/delivery/ajs.php":"http://203.130.226.231/advediax/www/delivery/ajs.php");'+
'var m3_r = Math.floor(Math.random()*99999999999);'+
'if (!document.MAX_used) document.MAX_used = ",";'+
'document.write ("<scr"+"ipt type=\'text/javascript\' src=\'"+m3_u);'+
'document.write ("?zoneid=1");'+
'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>");'+
'//]]>-->';
return mystring;
}
var div = document.createElement("div");
div.id="banner";
div.innerHTML = getstring();
div.style.cssText = "padding: 10px; border:1px solid; background-color: #000; color: #fff;";
document.getElementsByTagName("body")[0].appendChild(div);
document.getElementsByTagName("body")[0].insertBefore(
document.getElementById("banner"),
document.getElementsByTagName("body")[0].firstChild);
var scripts = getstring();
for (var i = 0; i < scripts[i].length; i++) {
eval(scripts[i].text);
}
</script>
</body>
</html>
函数getstring(){
var mystring='';
返回mystring;
}
var div=document.createElement(“div”);
div.id=“横幅”;
div.innerHTML=getstring();
div.style.cssText=“填充:10px;边框:1px实心;背景色:#000;颜色:#fff;”;
document.getElementsByTagName(“body”)[0].appendChild(div);
document.getElementsByTagName(“正文”)[0].insertBefore(
document.getElementById(“横幅”),
document.getElementsByTagName(“正文”)[0].firstChild);
var scripts=getstring();
对于(var i=0;i
我希望代码2与代码1运行相同。
谢谢。将getString()放入eval()中
div.innerHTML=eval(getstring())
当我测试代码2示例时,它对我很有用
编辑:请参阅下面我对这个答案的第一条评论,这就是为什么你不应该发布重复的内容!此外,还存在document.body您的浏览器是什么?我无法运行它,我在layoutI中收到未定义的消息,我必须重新考虑,因为我的答案是快速。我得到了要渲染的横幅,但不是在你的“banner”div中。它在下面渲染,我还得到了div中未定义的字符串。你在mysting变量中的脚本是静态的,是从某处收到的吗?