Firefox扩展-onPopupClose事件?

时间:2018-06-26 16:49:29

标签: javascript events dom firefox-webextensions

我有一个弹出窗口,我需要在其中以反应方式更新其中的数据。弹出窗口关闭时需要跟踪什么功能或事件?

目前我的代码结构如下:

let BG = browser.extension.getBackgroundPage();
let timer = BG.timer;

function updatePageTime(secondsElapsed) {
    const content = document.getElementById("content");
    content.innerHTML = "Current Time Spent: " + timer.getTimeElapsed();
}

document.addEventListener("DOMContentLoaded", function () {
    timer.subscribe(updatePageTime);
});

document.addEventListener("unload", function () {
    timer.unsubscribe(updatePageTime);
});

问题是卸载和beforeunload不会在弹出窗口关闭时触发,因此我无法停止对不存在的DOM的更新。

1 个答案:

答案 0 :(得分:2)

不幸的是,我没有看到卸载是在窗口而不是文档上定义的。只需将document.addEventListener("unload"更改为window.addEventListener("unload"即可解决此问题。