提问人:UICodes 提问时间:7/23/2010 更新时间:6/2/2014 访问量:690
内容脚本与 bg 页面通信 [同步]
Content script communicate with bg page [Synchronous]
问:
您好,好的,我知道内容脚本可以使用以下命令与后台页面进行通信:
chrome.extension.sendRequest({action:'test'}, function(response) {
//code here...
});
someFunction();
但是可以同步通信吗?基本上等到响应返回到内容脚本后再执行 someFunction()?
如果没有,是否可以使用普通的 xmlhttprequest 与 bg 页面通信?
你为什么问?
我正在将我的内容脚本加载到“document_start”(必需)的网页中,我在 CS 中的一个变量取决于选项页面中设置的 localStorage 变量。因此,在调用 someFunction() 之前,我需要后台页面中的这个 localStorage 变量。
提前致谢。
答:
1赞
CrazyEnigma
7/23/2010
#1
您可以链接回调以调用下一个请求。
或
您可以显式指定要同步的 XHR。
chrome.extension.sendRequest({action:'test'}, function(response) {
someFunction(response); // Calling the function
// or
chrome.extension.sendRequest(...);
});
function someFunction (resp) {
// Execute code
};
评论
0赞
UICodes
7/23/2010
您能否提供一个“链接回调”的示例,以便在调用 someFunction() 之前来自后台页面的响应返回到内容脚本?
0赞
UICodes
7/23/2010
好吧,有一个误会。在我的示例中,“someFunction()”表示页面中包含的所有其他逻辑,并且不能在回调中移动。所以从技术上讲,您确实回答了这个问题(谢谢),但我正在寻找一种立即从后台页面检索数据的方法,或者如果不可能,则同步(在页面等待响应时)。
0赞
user2867288
6/26/2017
现在是 2017 年,谷歌仍然没有办法做到这一点。拍,拍
评论