document.write中的Javascript

时间:2011-12-04 00:22:02

标签: javascript

  

可能重复:
  How can JavaScript make new page that contains more JavaScript?

我尝试写这个:document.write('<script>document.write("test")</script>');并显示'); });//]]>我相信这是因为我在其中写了<script> </script>,为什么会这样,我能做些什么(我故意想要它被<script>包围?

感谢。

4 个答案:

答案 0 :(得分:3)

你要么把它放在一个外部文件中(脚本属于哪里),要么做丑陋的“逃避”事情:

document.write('<script>document.write("test")</scr' + 'ipt>');

document.write('<script>document.write("test")<\/script>');

但实际上,请把它放在外部文件中。

答案 1 :(得分:1)

序列</script> ...结束脚本元素。如果你在字符串的中间执行此操作,那么最终会出现JS语法错误。

在JS字符串中,\/表示与/相同,因此请转义斜杠字符以避免在标记中包含结束标记。

document.write('<script>document.write("test")<\/script>'); 

答案 2 :(得分:0)

这是因为浏览器会看到</script>部分并认为它是您脚本的结束标记。

要克服这一点,只需将它分成两个字符串,如

'<script>document.write("test")</scr'+'ipt>'

答案 3 :(得分:0)

当浏览器运行您的脚本并遇到</script> 时,它会认为您的脚本已经结束。我会将字符串拆分为两个单独的字符串连接在一起。或者您可以将脚本放在外部文件中,而不是完全遇到问题。第二个可能是一个额外的工作,如果你做一个小事情,但它确实使它,所以你不必写任何额外或连接。