Google chrome extension Chrome onMessage不工作(?)

Google chrome extension Chrome onMessage不工作(?),google-chrome-extension,Google Chrome Extension,我已经阅读了Chrome中的onMessage.addListener方法,该方法用于将一些数据从扩展传递到脚本。我现在拥有的: popup.js window.onload = function(){ document.getElementById('searchButton').onclick = searchText; }; function searchText(){ var search = document.getElementById('searchText').value

我已经阅读了Chrome中的onMessage.addListener方法,该方法用于将一些数据从扩展传递到脚本。我现在拥有的:
popup.js

window.onload = function(){
  document.getElementById('searchButton').onclick = searchText;
};
function searchText(){
  var search = document.getElementById('searchText').value; // f.ex "123"
  if(search){
    chrome.tabs.query({active:true,currentWindow:true},function(tabs){
      chrome.tabs.executeScript(tabs[0].id,{file:search.js});
      chrome.tabs.sendMessage(tabs[0].id,{method:'search',searchText:search});
    });
  }
}
chrome.runtime.onMessage.addListener(function(message,sender,sendResponse){
  alert('text');
});
search.js

window.onload = function(){
  document.getElementById('searchButton').onclick = searchText;
};
function searchText(){
  var search = document.getElementById('searchText').value; // f.ex "123"
  if(search){
    chrome.tabs.query({active:true,currentWindow:true},function(tabs){
      chrome.tabs.executeScript(tabs[0].id,{file:search.js});
      chrome.tabs.sendMessage(tabs[0].id,{method:'search',searchText:search});
    });
  }
}
chrome.runtime.onMessage.addListener(function(message,sender,sendResponse){
  alert('text');
});
但是,永远不会触发警报(“文本”)。有什么问题吗?

您应该引用“search.js”并将调用放在以下回调中:

函数searchText(){
var search=document.getElementById('searchText').value;//f.ex“123”
如果(搜索){
chrome.tabs.query({active:true,currentWindow:true},函数(tabs){
chrome.tabs.executeScript(制表符[0].id{
文件:“search.js”
},函数(){
chrome.tabs.sendMessage(制表符[0].id{
方法:'搜索',
搜索文本:搜索
});
});
});
}
}

如果此建议没有帮助,请查找错误消息。

您应该引用“search.js”…chrome.tabs.executeScript(tabs[0].id,{file:“search.js”});?-这对我不起作用。把
chrome.tabs.sendMessage
调用放在
chrome.tabs.executeScript
.Hm.的回调中。你能把编辑过的代码作为回答吗?我想我现在不明白你的意思。嗯,这对我没有帮助,但我认为popup.js有问题。谢谢你的帮助!我看popup.js没有任何问题。中没有错误消息inspector@Kondra007您是否已获得清单文件中的权限(或至少拥有访问该页面的主机权限)?这是使用
chrome.tabs.executeScript
所必需的。是的,我设置了“权限”:[“tabs”,“activeTab”],我看不出您给出的代码有任何错误。如果需要进一步的帮助,需要显示所有相关代码(manifest.json、popup.html、popup.js、search.js)。编辑代码后是否重新加载扩展名和页面?