我有以下清单文件:
{
"manifest_version": 2,
"permissions": [
"http://*/*",
"https://*/*"
],
"background": {
"scripts": [
"./src/background.js"
]
}
}
在我的后台脚本中,我有以下代码:
console.log('I am here');
chrome.extension.onRequest.addListener((request, sender, response) => {
console.log(request, sender, response);
});
当我加载页面时,我希望听众内部的console.log
能够触发,但没有任何反应。虽然我得到输出I am here
。
我要做的是从包含json的URL捕获响应。然后我想从json获取特定数据并将其发送到我的服务器。
使用chrome.extension.onRequest
可能不是最好的方法。我该怎么办?
答案 0 :(得分:0)
onRequest
,而是尝试使用chrome.runtime.onMessage
。
像这样使用onMessage
:
chrome.runtime.onMessage.addListener(function callback)
从扩展进程(通过runtime.sendMessage)或内容脚本(通过tabs.sendMessage)发送消息时触发。
callback
如下:
function(any message, MessageSender sender, function sendResponse) {...};
更多信息可以在developer.chrome.com网站上找到:
https://developer.chrome.com/extensions/runtime#method-sendMessage