关于Javascript字符串BUG

 

我们在head中的<Script></Script>中写如下函数:

 

function Test()
{
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);
}
这个时候我们第一次看到的那个字符串没有了。想必大家都应该明白了,这里很明显我们将""里面的内容是作为字符串的,但是浏览器却没有意识到这点,把我们当字符串用的</script>变成了脚本的结束标志。这点没有什么好办法,解决办法:把字符串写成第二种形式。
posted @ 2007-01-11 04:47  深蓝  阅读(300)  评论(1编辑  收藏  举报

我要啦免费统计