在jQuery prepend之后,内部html标记不断显示在引号内

时间:2016-07-28 18:32:21

标签: jquery html dom iframe

我尝试将带有iframe子标记的noscript标记添加到正文中。我正在使用jQuery。虽然前置确实有效,但我看到的是iframe标记始终显示在引号内。如果我先添加noscript,然后在noscript中添加iframe,那就行了。不知道为什么它会这样做,如果有人可以解释,那就太棒了!

jQuery(document).ready(function() {
    jQuery('body').prepend('<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-123ABC" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>');
});

结果:

<noscript>
"<iframe src="//www.googletagmanager.com/ns.html?id=GTM-123ABC" height="0" width="0" style="display:none;visibility:hidden"></iframe>"
</noscript>

2 个答案:

答案 0 :(得分:1)

首先,如果您在启用JavaScript的情况下对其进行测试,Chrome会引用noscript标记的innerHTML,使其成为纯文本。其次,如果禁用JavaScript,jQuery将无法工作,无法执行您想要的操作(添加JavaScript替代方案) 您必须在不使用JavaScript的情况下添加它。

答案 1 :(得分:0)

您使用&#39; noscript&#39;标签不正确。该标记为在浏览器中禁用了脚本或具有不支持脚本的浏览器的用户定义了备用内容。

<script>
document.write("Hello World!")
</script>
<noscript>Your browser does not support JavaScript!</noscript>

参考此链接: http://www.ghacks.net/2014/11/29/how-to-use-noscript-efficiently/