在回答我的问题时,Pumbaa80发现调用open()
和window.open()
之间存在差异,请尝试以下示例 在Firefox中进行测试(在11.0上测试):
http://jsfiddle.net/9kqp5/(调用
open
;在 FF 中在新标签页中打开,默认情况下会打开“在新标签页中打开新窗口”设置)http://jsfiddle.net/HLbLu/(调用
window.open
;在新的小窗口中打开)
但是,到底为什么会有差异呢?如果我尝试以下示例:
<script>
var a = 2;
function hello() { alert(this.a); }
hello();
window.hello();
</script>
使用两种不同的方法调用函数 hello
,它们工作方式完全相同,包括有相同的 this
!!!
window.open
与open
相同),并且这两个Fiddles都会打开一个新窗口。但是,我认为后续版本可能会微妙地更改定义以适应选项卡。 - Andrew Leach