function new_url_listener(tabId, info, tab) {
if(info.url){
get_template(info.url).then(function(template){
console.log(template);
if (template){
chrome.tabs.sendMessage(tab.id, {test:"test"}, function(response) {
console.log(response);
});
}
})
}
}
chrome.tabs.onUpdated.addListener(new_url_listener);
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
console.log(sender.tab ?
"from a content script:" + sender.tab.url :
"from the extension");
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
});
当get_template.then()调用中未包含chrome.tabs.sendMessage时,它将发送一条消息,但是我需要能够将模板变量发送到内容脚本中
为什么它不能在then呼叫中发送?
get_template调用一个api,并将json作为模板变量取回
答案 0 :(得分:0)
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": [
"contentscript.js"
],
"run_at": "document_start"
}
],
我必须添加“ run_at”:“ document_start”,现在可以使用