如何 运行 JavaScript Chrome 扩展,即使 link 单击并关闭弹出窗口

How to run JavaScript Chrome extension even when link clicked and the popup closes

我有一些代码:

function lic() {
        chrome.storage.local.get('gemam', function(result){
            var num = 2 + parseInt(result.gemam);
            console.log(num);
             chrome.storage.local.set({gemam: num});
        });
        
}
var tt = document.querySelector('#adbox');
tt.addEventListener('click', ()=>{
      lic();
})

Ref 位于 adbox 内的广告内,如下所示:

<p id="ad"><!-----ref generated---></p>

广告的 p 有一个重定向到另一个页面的 link element()。 这是一个示例参考:

<a class='ref' style='color:white!important;' target='_blank' 

我正在尝试 运行 代码以在单击 link 时保存数据,但代码无法 运行 似乎是因为我正在通过打开一个新选项卡来关闭弹出窗口 window.

所以本质上,我仍然需要打开 link,但 运行 事件侦听器代码,即使弹出窗口因 link 单击而关闭。

要在弹出窗口关闭后保留 运行 代码,您需要内容脚本或后台脚本。如果您需要跨多个网页 运行 的代码,那么您必须使用后台脚本,如果您只想在一个页面上使用它,那么您可以使用内容脚本。

根据我的理解,您希望在按下 link 时 运行 一个函数。

如果 link 在页面上:

您可以使用内容脚本 运行 该功能。因为 link 有 target="_blank" 它将在新选项卡中打开并执行代码。

如果 link 在弹出窗口中:

您需要向后台脚本发送一条消息,告诉它执行代码。