Получение текущего идентификатора внутреннего окна в расширении Firefox 32
Я пытаюсь сохранить расширение Firefox, и оно зависит от текущего идентификатора внутреннего окна. В Firefox 31 объект окна имеет QueryInterface:
components/foo.js:
Foo.prototype = {
window: null,
...
init: function(aWindow) {
this.window = XPCNativeWrapper.unwrap(aWindow);
var util = this.window.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);
dump('Your inner window ID is: ' + util.currentInnerWindowID + '\n');
},
...
shutdown: function() {
}
}
В Firefox 32 объект window.QueryInterface исчез, и мне интересно, как получить текущий идентификатор внутреннего окна.
Благодарю.
1 ответ
Вызов XPCNativeWrapper.unwrap удаляет QueryInterface из aWindow.
if (aWindow.QueryInterface) {
util = XPCNativeWrapper.unwrap(aWindow.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils));
dump('Your inner window ID is: ' + util.currentInnerWindowID + '\n');
}