javascript - 替换为 JavaScript

标签 javascript jquery

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/

相关文章:

javascript - Tablesorter AJAX 分页。如何与后端 JSON 正确交互?

jquery - 如何正确转义 jQuery 的 .ajax 函数中作为数据发送的 html

javascript - jQuery - Ajax 不返回 json 响应

javascript - 在折线上停止动画符号 - 谷歌地图

javascript - 将 js 文件从原型(prototype)迁移到 jQuery 不起作用

jQuery - 验证每个循环中的复选框

javascript - setInterval 时间没有得到正确的值

Javascript的赋值操作是复制引用?

javascript - 如何在 Angular 6 中将 Material 日期选择器日期值格式化为 "MM-DD-YYY"格式?

javascript - 主干命名空间开放 View