如何 运行 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 在弹出窗口中:
您需要向后台脚本发送一条消息,告诉它执行代码。
我有一些代码:
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 在弹出窗口中:
您需要向后台脚本发送一条消息,告诉它执行代码。