Macos 运行Chrome时的代码";打开";在mac上

Macos 运行Chrome时的代码";打开";在mac上,macos,google-chrome-extension,Macos,Google Chrome Extension,我正在编写一个扩展,当Chrome第一次运行时,它会打开一个标签,从技术上讲,这意味着将代码放在后台页面中,这听起来很简单,在Windows中也能正常工作,可能在Linux中也能正常工作,尽管我还没有测试过它 问题在于Mac,当用户点击左上角的关闭按钮时,它实际上并没有完全关闭Chrome。要完全关闭Chrome,您必须强制退出它,这是人们通常不会做的事情 这意味着当用户第一次“打开”chrome时,我需要依靠其他事件来触发代码。有没有人知道哪种可能?我想我可以在每个选项卡的创建事件中添加一个侦

我正在编写一个扩展,当Chrome第一次运行时,它会打开一个标签,从技术上讲,这意味着将代码放在后台页面中,这听起来很简单,在Windows中也能正常工作,可能在Linux中也能正常工作,尽管我还没有测试过它

问题在于Mac,当用户点击左上角的关闭按钮时,它实际上并没有完全关闭Chrome。要完全关闭Chrome,您必须强制退出它,这是人们通常不会做的事情

这意味着当用户第一次“打开”chrome时,我需要依靠其他事件来触发代码。有没有人知道哪种可能?我想我可以在每个选项卡的创建事件中添加一个侦听器,并检查选项卡的数量,或者类似的东西,但我正在寻找一个轻量级的解决方案。有什么想法吗


更新:一个想法是让我们使用chrome.windows.onCreated事件,只需检查没有打开其他窗口。这是最好的方法,还是有人能想出更有效的方法?

使用两个事件和一个计数器。因为窗口打开/关闭相对较少,所以这不应该是问题:

  • ,增加计数器,并验证值
  • ,减小计数器

请不要这样做。它散发出强烈的邪恶气息。