【发布时间】:2016-10-24 16:03:28
【问题描述】:
尝试动态添加此代码
<script>
$(document).ready(function(){
var tagcodehead = "function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','{{ code }}');";
var tagcodebody = "<noscript><iframe src='https://www.googletagmanager.com/ns.html?id=GTM-MN88H8'height='0'' width='0'' style='display:none;visibility:hidden'></iframe></noscript>";
$(head).add("<script>" + tagcodehead + "</script>");
$(head).prepend(tagcodebody);
})
浏览器给我:SyntaxError: Unexpected EOF
这是问题 - 关闭脚本标签
$(head).add("<script>" + tagcodehead + "</script>");
有什么帮助吗? 谢谢
【问题讨论】:
-
height='0'' width='0''引号错误?修复字符串中所有错误的引号! -
顺便说一句,如果禁用了 JavaScript,您希望添加
<noscript>元素的具体情况如何? -
为什么不能直接执行JS代码?将其动态添加到单独的脚本标签只会使其不必要地复杂化。
-
为什么会有任何不同?
-
@aleXela 它是标签管理器脚本的一部分并不会改变这样一个事实,即如果您正在运行 JavaScript,根据定义,您将不会运行
<noscript>部分,因为这需要您已禁用 JS。您正在使用 JavaScript 添加仅在未启用 JavaScript 时才能访问的功能。
标签: javascript jquery eof