我正在构建一个chrome扩展来集成2个Web应用程序,以通过REST API调用共享数据。问题是一个站点(我正在显示数据)在HTTPS上而另一个站点在HTTP上,因此我的内容脚本不会执行从HTTPS到HTTP站点的AJAX GET请求。对于解决方法,我使用background.js页面来执行对HTTP站点的所有调用,然后使用chrome.storage我将信息传递回带有API结果的内容脚本。
到目前为止它一直工作得很好但是现在我想要点击我插入HTTPS站点的按钮,它调用background.js来获取一些数据,完成后将其返回给内容脚本。问题是我不知道如何让内容脚本在尝试执行chrome.storage.sync.get调用以获取返回的数据之前等待background.js调用完成。
我一直认为我需要像回调函数这样的东西,但我不知道如何绕过那些并且我不知道这是否是我甚至需要的东西。任何帮助将不胜感激!
答案 0 :(得分:0)
为了帮助那些寻找同样东西的人我最终使用:
在Background.js中
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" });
});
内容脚本中的:
File > New > Project