【发布时间】:2015-06-29 09:06:00
【问题描述】:
我正在乱搞(试图学习)如何制作 chrome 扩展。现在我只是在做一个超级简单的,它计算页面上某个单词的实例。我有这部分工作。
我想做的就是将此信息发送给pop,以便我可以用它来做其他事情。
这是我目前所拥有的:
manifest.json
{
"manifest_version": 2,
"name": "WeedKiller",
"description": "Totally serious $100% legit extension",
"version": "0.1",
"background": {
"persistent": false,
"scripts": ["background.js"]
},
"permissions":[
"tabs",
"storage"
],
"browser_action": {
"default_icon": "icon.png",
"default_title": "WeedKiller",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": [
"http://*/*",
"https://*/*"
],
"js": [
"content.js"
],
"run_at": "document_end"
}
]
}
content.js
var elements = document.getElementsByTagName('*');
var count = 0;
function tokeCounter(){
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
for (var j = 0; j < element.childNodes.length; j++) {
var node = element.childNodes[j];
if (node.nodeType === 3) {
var text = node.nodeValue;
if(text == '420'){
count++;
}
var replacedText = text.replace(/420/, '+1');
if (replacedText !== text) {
element.replaceChild(document.createTextNode(replacedText), node);
}
}
}
}
}
tokeCounter();
所以我想要发生的是将count 变量发送到弹出窗口,以便我可以在那里使用它。
我环顾四周,发现我需要对chrome.runtime.sendMessage 做点什么。
我有,所以我将这一行添加到 content.js 的末尾:
chrome.runtime.sendMessage(count);
然后在 background.js 中:
chrome.runtime.onMessage.addListener(
function(response, sender, sendResponse){
temp = response;
}
);
我有点卡在这里,因为我不确定如何将此信息发送到弹出窗口并使用它。
【问题讨论】:
标签: javascript google-chrome google-chrome-extension