使用javascript将javascript片段添加到div只是运行,从不插入内容

时间:2012-01-19 15:25:46

标签: javascript jquery html

我正在尝试创建一个输入,有人可以在文本区域中编写javascript。在他们单击一个按钮后,我加载他们在文本区域中编写的脚本并将其插入到将保存的html div中(基本上将此和其他html元素保存为自定义创建的页面)

但是,当我使用jquery将javascript插入div时,它只运行脚本,但不插入内容。有没有办法让代码运行并复制到html中,这样我可以保存写的内容?

编辑:这是一个例子:

HTML:

JS :( Jquery) $( '#myDiv')的html( 'window.alert( “测试”)');

弹出警报窗口,$('#myDiv')。html()=“”,div仍为空。

我正在寻找一种将脚本文本插入div的方法,然后运行它而不会丢失HTML中的脚本。

2 个答案:

答案 0 :(得分:0)

如果你转义所有的html(包括脚本标签),它将不会运行javascript。如果您确实要渲染在textarea中输入的所有其他html,则只能转义脚本标记。所以html变成了这样的东西:

<p>Just a paragraph</p>
&lt;script%gt;
    alert('this js does not run');
&lt;/script%gt;
<b>This is really bold</b>

答案 1 :(得分:0)

将javascript插入div标签时,您需要转义字符。这是显示可以执行转义的函数的链接,Convert special characters to HTML in Javascript,查看具有 HtmlEncode 功能的第二个回复。