如何将脚本标签/ JS作为文本追加到文本区域(不可执行)

时间:2019-05-27 20:00:00

标签: javascript jquery append textarea

我该如何在文本区域中将html标签/ javascript打印为文本? (不可执行)

我尝试附加JS / script标记,但这似乎没有附加为文本(=在文本区域中未显示任何内容)

jQuery

  $('#textarea').append('' +
    '<script type="text/javascript">' +
        'adf.Params.PageName = encodeURIComponent("[hello]");' +
        'adf.Params.Divider = encodeURIComponent("|");' +
    '</script>' +
  '');

HTML

<textarea rows="12" cols="50" name="textarea" id="textarea"></textarea>

JSFiddle here

1 个答案:

答案 0 :(得分:1)

似乎与脚本标签有关。一种选择是在打开和关闭脚本标签上对<字符进行编码,以使它们不会被视为实际标签。

var text = '&lt;script type="text/javascript">\n\t' +
  'adf.Params.PageName = encodeURIComponent("[hello]");\n\t' +
  'adf.Params.Divider = encodeURIComponent("|");\n' +
  '&lt;/script>';

$('#textarea').append(text);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea rows="12" cols="50" name="textarea" id="textarea"></textarea>