我的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
任何可能导致这种情况的暗示?
答案 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方法,并且不返回任何内容。正如在本代码的另一部分中所做的那样。