我已经测试了几个小时,我还采取了一个,当时已知的工作,例如。看这里: https://stackoverflow.com/a/27829709/2430488
它不适合我,或者我不确定如何测试。我打开了开发人员工具以及扩展开发人员工具,但在这两个窗口中都没有记录任何内容。
我使用的代码:
的manifest.json
{
"manifest_version": 2,
"name": "Some test",
"description": "https://stackoverflow.com/questions/27823740",
"version": "0",
"background": {
"scripts": [
"background.js"
]
},
"permissions": ["tabs", "<all_urls>"],
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["cont.js"]
}
]
}
cont.js
chrome.runtime.onMessage.addListener(function(msg, sender, sendResponse) {
if (msg.message && (msg.message == "DIMENSION")) {
var dimension = getPageDiemension(document.documentElement);
console.log('Dimension:', dimension);
sendResponse(dimension);
}
return true;
});
getPageDiemension = function(currentDom){
return {
x: 0,
y: 0,
w: currentDom.scrollWidth,
h: currentDom.scrollHeight
}
}
background.js
getPageDimension = function (){
chrome.tabs.query({active: true, highlighted: true}, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, { message: "DIMENSION" }, function(response){
if (response !== null) console.log('Response:', response);
else console.log('Response is null');
});
});
};
请帮忙,我真的不确定我做错了什么,过去几个小时我一直在查看文档,但我无法理解为什么不能正常工作。
谢谢。
答案 0 :(得分:1)
正如rsanchez所提到的,你的背景定义了一个函数getPageDimension
。
它永远不会被调用,所以你的扩展名什么也没做。似乎没有任何错误,你永远不会做任何事情。
您需要将对getPageDimension
的调用绑定到某个事件,例如点击Browser Action。