【发布时间】:2012-04-15 12:12:16
【问题描述】:
在回答my question Pumbaa80 found 调用open() 和window.open() 之间的区别时,请尝试以下示例在 Firefox 中(在 11.0 上测试):
http://jsfiddle.net/9kqp5/(调用
open;在 FF 中的新选项卡中打开,前提是“在新选项卡中打开新窗口”设置已打开,默认情况下为)http://jsfiddle.net/HLbLu/(致电
window.open;在新的小窗口中打开)
但到底为什么会有不同呢?如果我尝试following example:
<script>
var a = 2;
function hello() { alert(this.a); }
hello();
window.hello();
</script>
调用函数hello 的两种变体完全相同,包括具有相同的this!!!
【问题讨论】:
-
对我来说是一样的,你所有的样本都打开了同样的东西。确实它们是同一回事,除非您定义另一个函数调用 open
-
两个 JS Fiddles 对我来说也表现出相同的行为(打开一个新窗口)。
-
这里也一样,试过 Opera 和 Firefox。
-
我的 Firefox (3.6.21) 行为符合预期(
window.open与open相同)并且这两个小提琴都打开了一个新窗口。但是,我想以后的版本可能会巧妙地更改定义以适应标签。 -
对不起大家!我想提一下 Firefox 有区别,但不小心删掉了,只在关键词上。又加了! Firefox 中的区别在linked question 中有更多描述。
标签: javascript firefox window