Javascript 在Chrome Extensions中从内容脚本传递到后台页面的消息 Google Chrome Extensions消息传递问题:
在这个Chrome扩展中 我的弹出页面:Javascript 在Chrome Extensions中从内容脚本传递到后台页面的消息 Google Chrome Extensions消息传递问题:,javascript,google-chrome-extension,message-passing,Javascript,Google Chrome Extension,Message Passing,在这个Chrome扩展中 我的弹出页面: chrome.browserAction.onClicked.addListener(getMessage); getMessage(); function getMessage() { chrome.tabs.getSelected(null, function(tab) { chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
chrome.browserAction.onClicked.addListener(getMessage);
getMessage();
function getMessage()
{
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
console.log(response.farewell);
});//getting response from content script
});
}
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
else
sendResponse({});
});
我的脚本页面:
chrome.browserAction.onClicked.addListener(getMessage);
getMessage();
function getMessage()
{
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
console.log(response.farewell);
});//getting response from content script
});
}
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
else
sendResponse({});
});
我没有从内容脚本中得到任何响应
编辑:
根据@serg,我已将代码移到背景页。但是,它仍然不起作用您不能使用
chrome.browserAction.onclick
listener如果您将弹出页面附加到浏览器操作按钮,它将不会启动
- 删除弹出窗口,只保留按钮
- 将所有内容移到背景页李>
- 将
替换为tab.id
李>null
- 删除
createFile()代码>在开始时调用,因为在这种情况下它不会做任何事情(内容脚本尚未准备好侦听)
- 不要将警报用于调试扩展,请使用
console.log()
chrome.browserAction.onClicked
侦听器如果您将弹出页面附加到浏览器操作按钮,它将不会启动
- 删除弹出窗口,只保留按钮
- 将所有内容移到背景页李>
- 将
替换为tab.id
李>null
- 删除
createFile()代码>在开始时调用,因为在这种情况下它不会做任何事情(内容脚本尚未准备好侦听)
- 不要将警报用于调试扩展,请使用
console.log()