gpt4 book ai didi

google-chrome-extension - 试图从后台脚本获取消息

转载 作者:行者123 更新时间:2023-12-01 14:14:53 24 4
gpt4 key购买 nike

我在从后台脚本获取消息时遇到问题。脑子都快炸了,哪里错了?

list

{
"name":"Some name",
"version":"0.1",
"manifest_version": 2,
"description":"extension for Google Chrome",
"permissions": ["tabs","http://*/*", "https://*/*", "<all_urls>","notifications","contextMenus","alarms","tabs","bookmarks"],
"content_scripts":[
{
"matches":["<all_urls>"],
"css":["style.css"],
"js":["content.js","jquery.js"]
}
],
"background": {
"scripts": ["background.js","jquery.js"],
"persistent": false
},
"icons":{
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
},
"browser_action": {
"default_icon": {
"19": "images/icon19.png",
"38": "images/icon38.png"
},
"default_title": "Order Checker",
"default_popup": "popup.html"
}
}

background.js

chrome.tabs.getSelected(null, function(tab) {
console.log('Loaded!');
chrome.tabs.sendMessage(tab.id, {
greeting: "hello"
});
console.log('Sended on '+tab.id+'...');
});

content.js

chrome.extension.onMessage.addListener(function(msg, _, request) {
console.log('Getting request...');
console.log(msg.greeting);
});

在后台页面中,我收到了控制台 2 消息,正如预期的那样。但是在内容页面上我没有任何消息,所以我认为这是 content.js 中的代码的问题。我做错了什么?

最佳答案

chrome.tabs.getSelected() 已从 Chrome 16 弃用, 使用 chrome.tabs.query()相反。

你的脚本有问题

chrome.tabs.getSelected() 返回当前所选标签的引用,在加载扩展之后是 chrome://chrome/extensions/ 所以你的背景页面是向内容脚本不执行

的扩展页面发送消息

修改你的后台脚本以适应chrome.tabs.query() ,您可以在网页的控制台中看到消息!

引用资料

关于google-chrome-extension - 试图从后台脚本获取消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14174448/

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