gpt4 book ai didi

javascript - 为什么我的 chrome pageAction 在单击时不会触发 onClicked?

转载 作者:行者123 更新时间:2023-11-29 23:08:24 26 4
gpt4 key购买 nike

我有一个简单的 chrome 扩展,它意味着在特定域上显示 pageAction

list .json:

{
"name" : "Page action by content",
"version" : "1.1",
"description" : "Shows a page action for HTML pages containing a video",
"background" : {
"scripts": ["background.js"],
"persistent": false
},
"page_action" :
{
"default_icon" : "video-19.png",
"default_title" : "There's a <video> in this page!"
},
"permissions": [ "declarativeContent" ],
"icons" : {
"48" : "video-48.png",
"128" : "video-128.png"
},
"manifest_version": 2
}

背景.js:

chrome.runtime.onInstalled.addListener(function () {
chrome.declarativeContent.onPageChanged.removeRules(undefined, function () {
chrome.declarativeContent.onPageChanged.addRules([
{
conditions: [
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostSuffix: 'stackoverflow.com' },
})
],
// And shows the extension's page action.
actions: [new chrome.declarativeContent.ShowPageAction()]
}
]);
});
});

chrome.pageAction.onClicked.addListener(function (tab) {
alert('hello!');
});

在大多数计算机上,这工作正常。在少数情况下,用户看到的不是预期的 alert(),而是扩展的右键单击菜单(如果操作被禁用或右键单击,通常会显示该菜单)。图标会亮起,就好像已启用一样,但 onClicked 监听器未执行。

更奇怪的是,当扩展最初安装时,即使在少数计算机上也能按预期工作。只有在重新启动 Chrome 后才会出现错误行为。无论扩展程序是从 Chrome 商店加载还是解压加载,都会发生这种情况。

它也可以用其他扩展复制(page-action-demo,特别是演示站点 baidu.com)。 browserAction 不受影响。

看似简单的 manifest.json 中是否隐藏了错误,或者我是否需要提交错误?

最佳答案

作为chrome.pageAction.onClicked.addListener

This event will not fire if the page action has a popup.

这意味着你的 manifest.json 应该包含类似的东西(你有)

"page_action": {
"default_title": "Google Mail", // optional;
"default_icon": "images/icon32.png" // optional;
}

"default_popup": "popup.html" <---------------- Should be removed

下一步是显示特定选项卡的“页面操作”。我不知道为什么,但由于某些原因它是可见的和事件的,当你点击它时它会显示上下文弹出菜单

chrome.pageAction.show(integer tabId, function callback)

在后台脚本中执行此操作后 ⏫

 `chrome.pageAction.onClicked` 

应该触发事件。希望对您有所帮助。

关于javascript - 为什么我的 chrome pageAction 在单击时不会触发 onClicked?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54339531/

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