Google chrome extension 如何检测操作弹出窗口何时关闭?
我想在页面操作或浏览器操作弹出窗口关闭时触发一些代码。我试着在Google chrome extension 如何检测操作弹出窗口何时关闭?,google-chrome-extension,Google Chrome Extension,我想在页面操作或浏览器操作弹出窗口关闭时触发一些代码。我试着在或窗口上收听onnload和onbeforeuload事件,但它们从未触发。因为看起来没有直接的解决方案,如果有人感兴趣,我最终会这样做 定期从弹出窗口ping后台页面,如果在某个时间段内没有收到后台页面ping,则会触发所需的操作。像定时炸弹一样工作:) 在背景页中: var timeoutId = 0; function popupPing() { if(timeoutId != 0) { clearTim
或窗口上收听onnload
和onbeforeuload
事件,但它们从未触发。因为看起来没有直接的解决方案,如果有人感兴趣,我最终会这样做
定期从弹出窗口ping后台页面,如果在某个时间段内没有收到后台页面ping,则会触发所需的操作。像定时炸弹一样工作:)
在背景页中:
var timeoutId = 0;
function popupPing() {
if(timeoutId != 0) {
clearTimeout(timeoutId);
}
timeoutId = setTimeout(function() {
popupClosed();
timeoutId = 0;
}, 1000);
}
function popupClosed() {
//...
}
在弹出窗口中:
ping();
function ping() {
chrome.extension.getBackgroundPage().popupPing();
setTimeout(ping, 500);
}
(请注意,弹出ping的速度是后台页面“触发”时间的2倍)这是一个bug,但chromium开发人员发布了一个解决方案
尽管我真的希望有更好的答案(如果没有,我们应该提交一个bug),但这是一个非常酷的黑客。一种死人的开关: