gpt4 book ai didi

javascript - 始终显示 page_action 图标

转载 作者:行者123 更新时间:2023-12-02 17:05:51 24 4
gpt4 key购买 nike

我是 Chrome 扩展程序的新手,但我想开始尝试一下它们以获取乐趣。我知道始终显示 page_action 图标是违反惯例的,但是为了学习的目的,我想为每个选项卡显示它。

我一直在阅读,但我很难弄清楚哪些内容已被弃用,哪些内容未被弃用。文档似乎没有注意到某些方法已被弃用。

这是我到目前为止所得到的——我已经有一段时间没有搞过 Javascript 了,所以请耐心等待;这都是非常简单的事情。

那么始终显示 page_action 图标的最简单方法是什么?我已经接近正确的轨道了吗?谢谢。

<小时/>

manifest.json

{
"manifest_version" : 2,

"name": "Hello World",
"version": "0.1",
"description": "Hello World",

"page_action": {
"default_icon": "images/blackWhite.jpg",
"default_title": "HW!"
},

"background": {
"scripts": ["scripts/background.js"]
}
}
<小时/>

background.js

chrome.tabs.getSelected(null, function(tab {
var id = tab.id
chrome.pageAction.show(id)
}))

最佳答案

您的代码只会执行一次,而它应该在每个选项卡更新时执行。

实现此目的的一种方法是监听 chrome.tabs.onUpdated,如 sample extension 中所做的那样。 .

chrome.tabs.onUpdated.addListener(function(tabId, change, tab) {
if (change.status == "complete") {
chrome.pageAction.show(tabId);
}
});

这将使页面操作在页面加载完成时出现。

如果您希望它更快出现,您可以在不使用过滤器的情况下收听 onUpdatedonCreatedonReplaced(您不需要不在乎你是否多次调用 show())。

编辑:实际上,另一个很好的组合是onUpdated(用于检测URL更改)和onActivated(用于检测选项卡更改)。

或者,您可以使用一个内容脚本,在 document_start 处加载所有页面,并向后台发送消息以显示页面操作。

关于javascript - 始终显示 page_action 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25268020/

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