什么可以导致window.open返回“undefined”?

时间:2011-01-11 17:40:19

标签: javascript

我的Xul应用程序中有以下脚本:

MyClass = function() {
 this.go = function() {
  try {
   var scanWindow = window.open('chrome://test/content/scanWindow.xul','Scan','chrome, width=850, height=150, centerscreen');
   dump("scanWindow = " + scanWindow); // console output in Xul
  } catch(err) {
   dump("ERROR: " + err); // console output in Xul
  }
    }
}

当我调用此方法时会打印

  

scanWindow = undefined

任何可能导致这种情况的暗示?

3 个答案:

答案 0 :(得分:1)

我认为你不能在第三个参数中打开空格。

错:

var scanWindow = window.open('chrome://test/content/scanWindow.xul','Scan','**chrome, width=850, height=150, centerscreen**');

正确:

var scanWindow = window.open('chrome://test/content/scanWindow.xul','Scan','**chrome,width=850,height=150,centerscreen**');

答案 1 :(得分:0)

var goWindow = window.open('chrome://test/content/go.xul','Go','chrome, width=850, height=150, centerscreen');
dump("scanWindow = " + scanWindow); // console output in Xul    

你的转储调用应该是

dump("scanWindow = " + goWindow); // console output in Xul    

答案 2 :(得分:-1)

发现:导致此行为的原因是重新编写window.open方法,并且不返回任何内容。正如在本代码的另一部分中所做的那样。