我使用node-webkit 0.13.4。
当我用nw.gui.Window.open
打开第二个窗口并将其位置更改为完全另一个网址(具有与之前不同的域)时,我已经破坏了第二个window
对象并且无法对第二个屏幕执行任何操作,包括更改位置再一次。
这就是我如何打开窗口并保存新窗口的实例。
_initSecondWindow: function(){
this.gui = window.require('nw.gui');
this.gui.Window.open('view/second_window.html', {}, _.bind(function (newWin) {
this.secondWindow = newWin;
}, this));
}
然后我改变第二个窗口的位置
function(channel){
if (channel == 1){ this.secondWindow.window.location.replace('/view/second_window.html');
}else{
var url = 'http://some-remote-address.com/index.php?channel=0';
this.secondWindow.window.location.href = url;
}
}
},
请注意,我们有两个不同的域(second_window.html
和some-remote-address.com
)并逐个加载它们。
在第一次加载second_window.html
时,我通常会将位置更改为some-remote-address.com。第二次,当我将位置从some-remote-address.com更改为second_window.html时,一切都很好。但是当我第二次将url从second_window.html更改为some-remote-address.com时,this.secondWindow.window被破坏并且有空位置对象
当我找到some-remote-address.com并更改不是url,但更改get参数" channel"一切都很好