在 onDisconnect 中确认
confirm in onDisconnect
我正在开发一个弹出窗口扩展,当我的弹出窗口退出时,我想在用户确认后执行一个操作。我在后台脚本中尝试了以下代码
browser.runtime.onConnect.addListener(function (externalPort) {
if (externalPort.name === 'myport') {
externalPort.onDisconnect.addListener(function () {
if (confirm("are you sure?"){
doIt();
}
});
}});
但随后出现错误:TypeError: window.gBrowser is undefined
。显然,我的后台脚本中不能有对话。有可靠的方法吗?
插件的后台页面无法直接显示确认对话框,这是WebExtensions的限制。有一些解决方法:
- 运行 活动标签中包含
confirm()
的内容脚本。
- 使用
browser.windows.create({ url: 'dialog.html', type: 'popup' });
打开对话框 window 并使用 runtime.connect()
或 runtime.sendMessage()
. 等 WebExtensions API 与后台页面通信
我正在开发一个弹出窗口扩展,当我的弹出窗口退出时,我想在用户确认后执行一个操作。我在后台脚本中尝试了以下代码
browser.runtime.onConnect.addListener(function (externalPort) {
if (externalPort.name === 'myport') {
externalPort.onDisconnect.addListener(function () {
if (confirm("are you sure?"){
doIt();
}
});
}});
但随后出现错误:TypeError: window.gBrowser is undefined
。显然,我的后台脚本中不能有对话。有可靠的方法吗?
插件的后台页面无法直接显示确认对话框,这是WebExtensions的限制。有一些解决方法:
- 运行 活动标签中包含
confirm()
的内容脚本。 - 使用
browser.windows.create({ url: 'dialog.html', type: 'popup' });
打开对话框 window 并使用runtime.connect()
或runtime.sendMessage()
. 等 WebExtensions API 与后台页面通信