将 JS 代码注入文本区域

inject JS code into a textarea

本文关键字:文本 区域 注入 代码 JS      更新时间:2023-09-26

我正在尝试在文本区域中显示一些JS代码。代码是用JS生成的,所以我用JS将其注入到文本区域中。但是,使用 <script> 标记会导致脚本执行。我以为使用&lt;可以解决这个问题,但这只是显示&lt;而不是<

有什么建议我该怎么做?

$('myTextarea').set('value', '<script>alert('do something');</script>');

只需将脚本标记一分为二即可。

$('myTextarea').val('<script>alert("do something");</scr'+'ipt>');

打开<script>块之后的下一个</script>关闭脚本块;无论它是否包含在JS字符串中。

要修复,您可以像这样拆分</script>;

$('myTextarea').set('value', '<script>alert('do something');</scr' + 'ipt>');

或者像这样(不太常见,但有效,而且可能更正确);

$('myTextarea').set('value', '<script>alert('do something');<'/script>');

此外,您还需要修复报价;

$('myTextarea').set('value', '<script>alert(''do something'');<'/script>');

你现在可以看到它在这里工作:http://jsfiddle.net/pK9SK/