私はNW.js v0.12.3を新しいNW.js v0.17.3に移行しています。 私の古いアプリでは、着信通知を表示するためにウィンドウを開いていました。ユーザーが電話やハングアップに応答した場合、私は特別なイベントリスナーに基づいてウィンドウを閉じました。NW.jsが新しいウィンドウを開いてイベントを閉じます
var notificationWin;
window.onload = function() {
var messageHandler = function(event) {
if(event.data.key == 'incomingCall'){
win.requestAttention(1);
notificationWin = gui.Window.open('notification.html', {
frame: false,
toolbar: false,
focus: true,
icon: "app/imgs/traywinaz.png",
title:"Incoming Call"
});
notificationWin.on ('loaded', function(){
....
});
}else if(event.data.key == 'callRejected' || event.data.key == 'callAnswered' || event.data.key == 'callCanceled'){
notificationWin.close();
}
}
window.addEventListener('message', messageHandler, false);
}
しかし、新しいバージョンでは、私は拒否やイベントに答え呼び出しでウィンドウを閉じカント:
これは私のコードウィッヒは、v0.12.3で問題なく動作しますです。私はそれを閉じるために通知ウィンドウを得ることができません。
私の新しいコードは次のようになります。
var messageHandler = function(event) {
if(event.data.key == 'incomingCall'){
win.requestAttention(1);
nw.Window.open('app/notification.html', {
frame: false,
focus: true,
icon: "app/imgs/traywinaz.png",
id: "callNotification"
}, function(new_notification) {
new_notification.setAlwaysOnTop(true);
new_notification.setVisibleOnAllWorkspaces(true);
new_notification.on ('loaded', function(){
....
});
});
}else if(event.data.key == 'callRejected' || event.data.key == 'callAnswered' || event.data.key == 'callCanceled'){
try{
notificationWin = nw.Window.get('app/notification.html');
notificationWin.close();
}catch(e){
console.log(e);
}
}
};
私もコールバックの内側に、このような気にいらを実行しようとしましたので、私は、コールバック内でウィンドウを取得することができます:
notificationWin = new_notification;
が、これに近いです私のメインウィンドウ:S
私が間違ってやっていることのアイデアやこれをどうしたらいいですか?
ドキュメントhttp://docs.nwjs.io/en/latest/References/Window/#windowgetwindow_objectは、Window.get([window_object])と言っていますが、新しいバージョンで[window_object]パラメータを取得する方法はわかりません。
ありがとうございます! :)