Chrome扩展程序弹出窗口关闭事件

3

我想在弹出窗口关闭时保存一些数据,但是我找不到添加监听器的地方。之前有一篇帖子建议在后台页面中这样做,但是它不起作用:

chrome.runtime.onConnect.addListener(function (externalPort) {
  externalPort.onDisconnect.addListener(function () {
    console.log("onDisconnect")
  })
  console.log("onConnect")
})

甚至 onConnect 监听器都没有起作用。 有什么想法让它工作吗?


2
假设你也使用了chrome.runtime.connect(),就像这个问题中所示的那样,问题似乎是你正在查看错误的控制台。请参考在Chrome扩展中从background.js读取控制台消息的位置在哪里? - undefined
不要看错控制台。在添加监听器之前,我可以看到日志。我还在第一行设置了一个断点,在重新加载扩展时它会停在那里。 - undefined
有些东西丢失了。没有 MCVE 的话很难说清楚是什么。我链接的那个问题和答案包含了一个完全可行的解决方案。 - undefined
@wOxxOm 抱歉,我太专注于背景页面了。是的...连接是缺失的部分。谢谢! - undefined
1个回答

1

我实际上采用了不同的方法。而不是监听事件,我将状态移动到后台页面。因此,当弹出窗口打开时,它从后台页面读取状态,用户可以继续之前的操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接