LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 750|回复: 3

IE和FF是否同源的猜想

[复制链接]
发表于 2007-1-27 12:02:32 | 显示全部楼层 |阅读模式
一般而言如果两个应用的BUG完全相同,至少映证了这两个应用很可能使用了相同的模块或组件。

我们把这两段代码在IE和FF分别运行,发现他们对这个JS分析的BUG非常的相似。

<html>
<script>
window.xxx = “<script>alert(’Hello World!’)”
</script>
</html>

window并没有xxx这个属性,可是IE和FF都没有报错。并且执行以后页面显示的结果是一个双引号。

<html>
<script>
window.xxx = ‘Hello World’;
alert(”Hello world”);
</script>
</html>

IE和FF在第一条语句出现问题后仍然继续了执行,弹出了”Hello world”的对话框。

再把两个综合起来

<html>
<script>
window.xxx = “<html><script>alert(’Hello World!’)”;
alert(”Hello world”);
</script>
</html>

运行以后得到的结果仍然一样是

“; alert(”Hello world”);

看来JS的分析器空前的一致,难道都是脱胎于mosaic??
发表于 2007-1-27 13:01:51 | 显示全部楼层
沒有報錯是因為沒有錯, JS會自動create屬性
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-27 15:33:25 | 显示全部楼层
Post by khc
沒有報錯是因為沒有錯, JS會自動create屬性

怎么解释输出双引号???
回复 支持 反对

使用道具 举报

发表于 2007-1-29 14:25:18 | 显示全部楼层
上面的代码应该不出错才对.因为:
window.xxx = “<script>alert(’Hello World!’)”

var xxx= “<script>alert(’Hello World!’)”
是一样的. 就是把一个String赋值到一个变量. 我试一下, 在IE6和FF2上确实都没有出错.

但是如果用
eval(xxx);
的话, IE和FF都报错. IE是弹出错误, FF是把错误输出到错误控制台上. 是不会输出双引号的.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表