为什么chrome.tabs.sendmessage不接受message的参数?
Why chrome.tabs.sendmessage doesn't accept the parameter of message?
我想将选定的文本值从后台脚本发送到我的内容脚本。
这是我使用的代码:
chrome.contextMenus.create({
id: "TranslationFetcher",
title: "Translate this word",
contexts: ["selection"]
});
chrome.contextMenus.onClicked.addListener((info, tab) => {
chrome.tabs.query({active: true, currentWindow: true}, tabs => {
chrome.tabs.sendMessage(tabs[0].id, {message: info.selectionText}, {type: "getTranslation"});
});
});
但是,当我 运行 上面的代码没有消息参数时,预期的请求被传递到内容脚本。
如何解决这个错误?以及如何将选定的文本发送到内容脚本?
是我把消息对象分开了。我想到了。答案是:
chrome.contextMenus.onClicked.addListener((info, tab) => {
chrome.tabs.query({active: true, currentWindow: true}, tabs => {
chrome.tabs.sendMessage(tabs[0].id, {type: "getTranslation", message: info.selectionText});
});
});
我想将选定的文本值从后台脚本发送到我的内容脚本。 这是我使用的代码:
chrome.contextMenus.create({
id: "TranslationFetcher",
title: "Translate this word",
contexts: ["selection"]
});
chrome.contextMenus.onClicked.addListener((info, tab) => {
chrome.tabs.query({active: true, currentWindow: true}, tabs => {
chrome.tabs.sendMessage(tabs[0].id, {message: info.selectionText}, {type: "getTranslation"});
});
});
但是,当我 运行 上面的代码没有消息参数时,预期的请求被传递到内容脚本。
如何解决这个错误?以及如何将选定的文本发送到内容脚本?
是我把消息对象分开了。我想到了。答案是:
chrome.contextMenus.onClicked.addListener((info, tab) => {
chrome.tabs.query({active: true, currentWindow: true}, tabs => {
chrome.tabs.sendMessage(tabs[0].id, {type: "getTranslation", message: info.selectionText});
});
});