gpt4 book ai didi

javascript - 如何为 chrome 上的每个标签获得不同的徽章值?

转载 作者:数据小太阳 更新时间:2023-10-29 05:02:17 25 4
gpt4 key购买 nike


我正在尝试做一些像 adblock 那样的事情。 Adblock 计算“广告”的数量并更新徽章值。现在,我尝试对“背景页面”做一些事情,但它们只运行一次并且所有选项卡的徽章值都相同。我不能使用浏览器操作 popup.html,因为它仅在单击后触发。
所以我需要一些获取当前选项卡,能够读取选项卡的当前 DOM 并最终更新徽章值的东西。但在我点击不同的选项卡后,我还需要计算新的徽章值。
提前致谢

最佳答案

如果您指定了 tabId 参数,则为每个选项卡单独存储徽章文本,如果您已经设置了该值,则无需在用户切换选项卡后手动更新它。

因此,如果您的扩展程序在加载后立即处理页面,请调用一次 chrome.browserAction.setBadgeText。你可以做到,例如通过从您的内容脚本向您的背景/事件页面发送一条消息,该页面将使用发件人选项卡的 ID 调用 setBadgeText(此参数使文本对于选项卡而言是唯一的)。

内容脚本:

chrome.runtime.sendMessage({badgeText: "123"});

背景/事件脚本:

chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.badgeText != null) {
chrome.browserAction.setBadgeText({
tabId: sender.tab.id,
text: message.badgeText,
}, () => chrome.runtime.lastError); // ignore errors due to closed/prerendered tabs
}
});

关于javascript - 如何为 chrome 上的每个标签获得不同的徽章值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32168449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com