Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 执行用innerhtml插入的脚本_Javascript_Html_Innerhtml - Fatal编程技术网

Javascript 执行用innerhtml插入的脚本

Javascript 执行用innerhtml插入的脚本,javascript,html,innerhtml,Javascript,Html,Innerhtml,我正在使用以下代码尝试在调用innerhtml后执行一个adNetworks横幅 // container is where you want the ad to be inserted var container = document.getElementById('sponsor_container2'); var w = document.write; document.write = function (content) { container.innerHTML = co

我正在使用以下代码尝试在调用innerhtml后执行一个adNetworks横幅

   // container is where you want the ad to be inserted
var container = document.getElementById('sponsor_container2');
var w = document.write;
document.write = function (content) {
    container.innerHTML = content;
    document.write = w;
};
var script = document.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.src = 'http://go.adversal.com/ttj?id=2609728&size=728x90&promo_sizes=468x60,320x50,300x50,216x36';
document.body.appendChild(script);
然而,无论出于何种原因,我都会解释以下信息

Resource interpreted as Script but transferred with MIME type text/html: "http://ib.adnxs.com/ttj?id=2609728&size=728x90&promo_sizes=468x60,320x50,300x50,216x36". 
而且什么也没发生,上面的代码在以前的adNetworks中都是有效的,所以这就是为什么我如此愚蠢的原因

这是我的广告页面提供给我的脚本

<script src="http://go.adversal.com/ttj?id=2609728&size=728x90&promo_sizes=468x60,320x50,300x50,216x36" type="text/javascript"></script>

我认为您的问题在于,您重新定义了一个Javascript文档符号中已有的函数:
document.write()
是一个用于写入文档的函数,您可能知道,您无法在Javascript中重新定义已定义的函数

您可能只需要
文档。编写(w)
之类的东西


希望我能帮上忙。

脚本使用document.write(),您会破坏它。所有广告都使用document.write,在切换到该网络之前,我的方法从未破坏过它们。这是一个简单的覆盖,因此脚本通常是执行的。我在这里重新定义了它,就像以前的网络使用write函数加载广告时一样,我可以将它定向到我希望它写入的确切div,并实际加载它们。没有它,当您通过innerhtmlInteresting发送脚本时,脚本根本不会执行,您是否尝试过jQuery库?这可以简化事情,在重新定义的函数中也是如此,并且您对变量“w”的定义以及document.write的语法都不正确。据我所知,你总是需要括号,如果我错了,请原谅我@user3037561是否有一个特定的Jquery库?我从来没有想到动态执行脚本标记会如此困难,因为jQuery的$(elm).html(str)将执行脚本标记,而不像elm.innerHTML=str;您也可以简单地eval()脚本标记的textContent来完成同样的任务。