ale*_*ela 0 javascript jquery eof
尝试动态添加此代码
<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);
})
Run Code Online (Sandbox Code Playgroud)
浏览器给我:SyntaxError:意外的EOF
这是问题 - 关闭脚本标记
$(head).add("<script>" + tagcodehead + "</script>");
Run Code Online (Sandbox Code Playgroud)
有帮助吗?谢谢
您无法</script>
在脚本中嵌入文本.即使该"标记"在字符串内,它仍然终止浏览器的脚本块.你必须要打破它:
$(head).add("<script>" + tagcodehead + "</scr" + "ipt>");
Run Code Online (Sandbox Code Playgroud)
请记住 - 浏览器首先破解页面/代码的原始文本,并且它不能直接理解Javascript是什么.它只能理解HTML,这意味着脚本块终止于块</script>
内部的第一个实例,而不管块中代码中出现的结束标记的方式/位置.