Chrome扩展-在单击/悬停时更改弹出图标

Chrome extension - changing the popup icon onClick / onHover

本文关键字:图标 悬停 扩展 单击 Chrome      更新时间:2023-09-26

我正试图找到一种方法,在弹出窗口打开或悬停后更改扩展的图标。我找到了一种打开弹出窗口的方法,使用:

chrome.browserAction.onClicked.addListener(updateIcon);

但是,找不到捕捉弹出关闭事件的方法。我试着从弹出代码中使用这个:

 var port = chrome.runtime.connect();
  port.onDisconnect.addListener(function()
  {
     alert('closed');
  });

但没有成功。

有什么想法吗?

谢谢。

假设弹出页面连接到后台脚本,请尝试将Port.onnect代码移动到后台脚本:

  port.onDisconnect.addListener(function()
  {
     alert('closed');
  });

我假设你的方法不起作用,因为在你关闭弹出窗口后,它就死了,无法检测到Port.onnect事件。如果你把它移到后台脚本中,它应该仍然是活动的,当端口断开连接时会收到通知,并且可以更改按钮的图标本身!

至于在悬停扩展时更改图标,这将取决于您是想在悬停工具栏上的按钮时更改,还是想在悬停弹出页面时更改。如果你指的是前者,我认为这是不可能的。如果你指的是后者,弹出页面应该能够通过事件监听器和你的"updateIcon"函数来完成。