Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 内容脚本与bg页面通信[同步]_Javascript_Google Chrome Extension_Chromium - Fatal编程技术网

Javascript 内容脚本与bg页面通信[同步]

Javascript 内容脚本与bg页面通信[同步],javascript,google-chrome-extension,chromium,Javascript,Google Chrome Extension,Chromium,您好,我知道内容脚本可以通过以下方式与后台页面通信: chrome.extension.sendRequest({action:'test'}, function(response) { //code here... }); someFunction(); 但有可能同步沟通吗?在执行someFunction()之前,基本上要等到响应返回到内容脚本 如果没有,是否可以使用普通的xmlhttprequest与bg页面通信 你为什么问 我正在将我的内容脚本加载到“document_start”

您好,我知道内容脚本可以通过以下方式与后台页面通信:

chrome.extension.sendRequest({action:'test'}, function(response) {
  //code here...
});

someFunction();
但有可能同步沟通吗?在执行someFunction()之前,基本上要等到响应返回到内容脚本

如果没有,是否可以使用普通的xmlhttprequest与bg页面通信

你为什么问

我正在将我的内容脚本加载到“document_start”(必需)的网页中,我在CS中的一个变量取决于选项页面中设置的localStorage变量。因此,在调用someFunction()之前,我需要后台页面中的这个localStorage变量


提前感谢。

您可以链接回调以调用下一个请求

您可以显式地将XHR指定为同步的

chrome.extension.sendRequest({action:'test'}, function(response) {
    someFunction(response);  // Calling the function
    // or
    chrome.extension.sendRequest(...);
});
function someFunction (resp) {
    // Execute code
};

您能否提供一个“链接回调”的示例,以便在调用someFunction()之前,后台页面的响应返回到内容脚本?好的,这是一个误解。在我的示例中,“someFunction()”表示页面中包含的所有其他逻辑,不能在回调内部移动。所以从技术上来说,你确实回答了这个问题(谢谢),但我正在寻找一种从后台页面立即检索数据的方法,或者如果不可能,同步检索(当页面等待响应时)。现在是2017年,谷歌仍然没有办法做到这一点。拍手,拍手