我们在head中的<Script></Script>中写如下函数:
function Test()
{
var s="<script>document.write('abcdefg');</script>";
alert(s);
}
{
var s="<script>document.write('abcdefg');</script>";
alert(s);
}
其他Body中的内容随便,这个时候我们用IE6,7,FireFox等浏览器打开,我们可以看到在第一排出现了内容“"; alert(s); } ”,这是怎么回事?我们再将我们这个函数改写如下:
function Test()
{
var s="<script>document.write('abcdefg');<"+"/script>";
alert(s);
}
{
var s="<script>document.write('abcdefg');<"+"/script>";
alert(s);
}
这个时候我们第一次看到的那个字符串没有了。想必大家都应该明白了,这里很明显我们将""里面的内容是作为字符串的,但是浏览器却没有意识到这点,把我们当字符串用的</script>变成了脚本的结束标志。这点没有什么好办法,解决办法:把字符串写成第二种形式。
本文转自深蓝居博客园博客,原文链接:http://www.cnblogs.com/studyzy/archive/2007/01/11/690320.html,如需转载请自行联系原作者