4

你好,好的,我知道内容脚本可以使用以下方式与后台页面进行通信:

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

someFunction();

但是可以同步通信吗?基本上等到响应返回到内容脚本再执行 someFunction()?

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

你为什么问?

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

提前致谢。

4

1 回答 1

1

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

或者

您可以明确指定 XHR 是同步的。

chrome.extension.sendRequest({action:'test'}, function(response) {
    someFunction(response);  // Calling the function
    // or
    chrome.extension.sendRequest(...);
});
function someFunction (resp) {
    // Execute code
};
于 2010-07-22T17:14:39.647 回答