Possible Duplicate:
jQuery: Can’t append <script> element
我正在尝试通过这样做用 javascript 替换 div:
$("#frame").replaceWith("<script language='JavaScript' type='text/javascript'>AC_VHost_Embed(2672266,206,206,'',1,1, 2279587, 0,1,0,'912832a3e8b02d79380c8352f2d497f6',9);</script>") ;
但在控制台中,错误显示意外 token :非法
有什么想法吗?
最佳答案
我猜这是内联的 JavaScript,在这种情况下,您需要分解结束语 </script>
标签。我还使它更具可读性:
$("#frame").replaceWith(
"<script language='JavaScript' type='text/javascript'>"
+ "AC_VHost_Embed(2672266,206,206,'',1,1, 2279587, "
+ "0,1,0,'912832a3e8b02d79380c8352f2d497f6',9);"
+ "<" + "/script>"
);
这样做的原因是为了让浏览器不会认为你的</script>
字符串内部是脚本 block 的末尾。示例:
<script>
// Doesn't work!
alert('</script>');
</script>
您的浏览器看到:
<script>
// Doesn't work!
alert('
</script>
');
</script>
换句话说,您的浏览器在第一次看到</script>
时就认为脚本结束了。 。您可以通过打破假</script>
来解决这个问题分成碎片。
<script>
// Works fine!
alert('<' + '/script>');
</script>
关于javascript - 替换为 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13656429/