我正在尝试使用以下代码附加<script>
节点
<html>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$('body').append('<script>alert(\'foo\');</script>');
</script>
</body>
</html>
我希望代码
alert('foo');
要添加执行,但实际上,添加了以下字符串
');
这里发生了什么?
答案 0 :(得分:4)
你必须在这里正确地转义斜杠字符并使用双引号来表示foo:
<html>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$('body').append('<script>alert("foo");<\/script>');
</script>
</body>
</html>
答案 1 :(得分:3)
您必须在字符串中打破</script>
,否则它将被视为<script>
的结束标记。
$('body').append('<script>alert(\'foo\');</scr'+'ipt>');