0

我正在创建一个 Chrome 扩展程序,并且对内容脚本和消息传递的工作方式感到非常困惑。下面我详细介绍了我的扩展的目标和我到目前为止的代码。

扩展需要:

  1. 对所有网页保持活跃
  2. 从用户所在的每个站点收集元数据(特别是关键字)
  3. 以扩展程序可以分析关键字并采取相应措施的方式将元数据传回扩展程序。扩展将根据网站的类别(即社交媒体、博客、体育网站)显示不同的文本]

我没有包含 popup.html 的代码,因为当您单击我的扩展程序图标时,我可以弹出正常文本。

到目前为止我的文件:


清单.json

"manifest_version": 2,
"name": "my extension",
"description": "This is my first chrome extension.",
"version": "1.0",

"content_scripts": [ {"matches": ["<all_urls>"], "run_at": "document_end", "js["testscript.js"] }],

"permissions": ["tabs", "http://*/*", "background"],

"background": "background.html",

"browser_action": { "default_icon": "my_logo.png", "default_popup": "popup.html" }

内容脚本.js

var meta_keywords = getKeywords();

chrome.extension.sendRequest(meta_keywords);

function getKeywords() {
   data = document.getElementsByTagName("meta");
   keywords = []; 
   var len = data.length;
   for (var i = 0; i < len; i++) {
     if (data[i].name == 'keywords') {
        keywords = data[i].content.split(",");
     }
   }
   return keywords;
}

背景.html

//I really have no idea what this means or how to use it...
//I just know that I need some sort of onRequest function

chrome.extension.onRequest.addListener(function(keywords, sender, sendResponse) {})

任何和所有的帮助将不胜感激。我已经阅读了大量的教程和谷歌的文档,但我就是不明白。先感谢您!

4

1 回答 1

0

几个月前,我尝试为 devtools 扩展创建像单例一样的东西,它在后台页面内容页面和 devtools 页面之间有消息传递看看

https://github.com/ruddog/chrome-devtools-skeleton/

希望对你有帮助

于 2013-07-07T15:43:24.923 回答