我看到每个人都在做,但我不明白为什么。
document.write('<script src="src"><\/script>');
我指的是使用单引号时,你不需要转义字符吗?
我看到每个人都在做,但我不明白为什么。
document.write('<script src="src"><\/script>');
</script>
被解析为一个结束标签。"</script>
和"<\/script>
"在JavaScript中是相同的,但只有第一个被HTML解析器解释为包含一个HTML结束标签。
</script>
作为一个闭合标签,并关闭您最初的<script>
。它没有字符串的概念。document.write('<script src="src">
,而其余部分');
将被视为HTML文本节点。</script>
。只要您不像</script>
一样精确地书写它,任何内容都可以。以下是几个有效的示例:document.write('<script src="src"><\/script>');
document.write('<script src="src"></scr' + 'ipt>');
document.write('<script src="src"></' + 'script>');
</script>
总是结束脚本块——无论你做什么(例如HTML注释或CDATA)。因此,除非您确实想要结束块,否则不应在脚本块中出现它。最简单的方法是转义正斜杠(转义不起作用;在JavaScript中,未知的转义序列只会“丢失”其反斜杠)。
</script>
和<\/script>
不是相同的值吗?它们不应该产生相同的“错误”吗? - dynamic