我正在调查和阅读这些内容,无法在任何地方找到应该如何完成。
我正在开发 chrome扩展程序,以参考文档here
所以我想创建一个弹出窗口并在它关闭时收听,就像在下面的代码片段中那样(不起作用)。
chrome.windows.create({
url: "http://www.google.com",
type: "popup",
width: 640,
height: 800
}, function(w) {
w.onunload = function () {
console.log("hey");
};
});
有关如何做到最佳方式的任何建议?
答案 0 :(得分:1)
订阅chrome.windows.onRemoved
事件将有效,但我找不到更好的方法来识别弹出窗口ID,但是关闭的范围。
chrome.windows.getCurrent(function () {
chrome.windows.create({
url: "http://www.google.com",
type: "popup",
width: 640,
height: 800
}, function(w) {
chrome.windows.onRemoved.addListener(function (wIndex) {
if (wIndex === w.id) {
console.log("hey");
}
});
});
});
答案 1 :(得分:1)
您可以使用变量来跟踪弹出窗口ID并在chrome.windows.onRemoved
侦听器中检查该变量,因此您不必每次都添加和删除侦听器:
var myPopupId;
chrome.windows.create({
url: "http://www.google.com",
type: "popup",
width: 640,
height: 800
}, function(w) {
myPopupId = w.id;
}
);
chrome.windows.onRemoved.addListener(function(windowId){
if (windowId == myPopupId){
console.log("hey");
}
});