Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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追加中的代码_Javascript_Jquery_Html_Dom Events_Nextgen Gallery - Fatal编程技术网

如何执行<;脚本>;javascript追加中的代码

如何执行<;脚本>;javascript追加中的代码,javascript,jquery,html,dom-events,nextgen-gallery,Javascript,Jquery,Html,Dom Events,Nextgen Gallery,我正在使用一个只有Javascript的插件。我需要让它动态创建一个包含广告的DIV元素 我不明白为什么这不起作用: $(this).append('<div class="overlay-background">Advertisement <script type="text-javascript"> GA_googleFillSlot("blog_landing_right_rectangle_300x250"); <

我正在使用一个只有Javascript的插件。我需要让它动态创建一个包含广告的DIV元素

我不明白为什么这不起作用:

$(this).append('<div class="overlay-background">Advertisement

     <script type="text-javascript">

          GA_googleFillSlot("blog_landing_right_rectangle_300x250");

     </script>'
$(this).append('广告
GA_googleFillSlot(“博客登陆右矩形300x250”);
'

它会导致使用“Hello World”创建元素,但不会执行GA googleFillSlot函数。

将HTML附加到DOM中不会导致浏览器评估所附加HTML中的任何脚本标记

如果确实需要,可以使用
eval()
评估javascript:

请尝试:

s = '<' + 'script type="text-javascript">' +
    'GA_googleFillSlot("blog_landing_right_rectangle_300x250");' +
    '<' + '/' + 'script>';
$(this).append(s);
s=''+
'GA_googleFillSlot(“blog_landing_right_rectangle_300x250”)+
'';
$(此项)。追加;

UPD:唉,这行不通,请改用wless1的解决方案

在您的情况下,一个解决方法可能是附加一个带有onload事件的假图像:

<img src="blank.gif" onload="GA_googleFillSlot('blog_landing_right_rectangle_300x250')" />

此代码在我的浏览器中工作

$('body').append('<script>alert("test");<' + '/' + 'script>');
$('body')。追加('alert(“test”);');
所以可能是
$(这个)
才是问题的真正原因


你能用
“body”替换它吗?

我知道这是个老问题,但今天我遇到了类似的问题。 解决方案正在使用

我的代码如下所示:

var tagString = '<script async type="text/javascript" src="path_to_script"></script>';

var range = document.createRange();
range.selectNode(document.getElementsByTagName("BODY")[0]);
var documentFragment = range.createContextualFragment(tagString);
document.body.appendChild(documentFragment);
var tagString='';
var range=document.createRange();
range.selectNode(document.getElementsByTagName(“BODY”)[0]);
var documentFragment=range.createContextualFragment(标记字符串);
document.body.appendChild(documentFragment);

由于您的代码是javascript格式的,因此您可以附加并执行以下代码:

$(this).append('<div class="overlay-background">Advertisement</div>');

GA_googleFillSlot("blog_landing_right_rectangle_300x250");
$(this.append('advision');
GA_googleFillSlot(“博客登陆右矩形300x250”);

您是否在HTML页面中使用此代码?如果是,关闭可以被视为您最外层的关闭标记。这不会有帮助,因为脚本无论如何都不会运行。如果您在字符串
..”中打断
,这对我很有效谢谢,我忘了将脚本放入脚本,因为我通常将它们放入文件中。此解决方案在与$(This.append)一起放置时会导致未知的白屏错误。将其放置在外部时不会产生任何更改。我没有修改上面的代码。在pubads.g.doubleclick.net上看起来有几十个错误的请求。它看起来像是我在一个循环中附加(下一个画廊旋转木马)。是的,这起作用了:)
$(this).append('<div class="overlay-background">Advertisement</div>');

GA_googleFillSlot("blog_landing_right_rectangle_300x250");