首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >等待chrome.extension.sendRequest

等待chrome.extension.sendRequest
EN

Stack Overflow用户
提问于 2012-03-06 19:28:50
回答 3查看 661关注 0票数 0

我想从background.html中读取我的全局变量,并使用以下代码:

代码语言:javascript
复制
chrome.extension.sendRequest()

我在我的计时器函数中运行这段代码...每次它返回我未定义的。如果我在上述函数中放入一条警告消息,那么它会显示我变量。如果我没有使用alert(),那么它就是未定义的。那么我如何等待上面的函数返回正确的值,...据我所知,我需要等待回应...但是我怎么才能做到这一点呢?我试着在上面的函数中使用setInterval,但是没有帮到我。如何从background.html中读取我的全局值...我需要一段代码。

代码语言:javascript
复制
chrome.extension.sendRequest({cmd: "myvalue"}, function(response) {
     myglobalvalue = response;
  if(response==1){

   alert("response: "+response); // alert show me right value

             }
});

if(myglobalvalue)doFunc();  //myglobalvalue is undefenited
EN

回答 3

Stack Overflow用户

发布于 2012-03-06 21:37:09

票数 1
EN

Stack Overflow用户

发布于 2012-03-07 02:20:02

chrome.extension.sendRequest接受一个回调函数,该函数将与响应数据一起触发。

代码语言:javascript
复制
chrome.extension.sendRequest({ data: 'send data' }, function(response) {
  console.log(response);
  // the var has been returned and you can use it here or call another function.
});
票数 0
EN

Stack Overflow用户

发布于 2012-03-07 04:08:51

给你:Chrome Extension Socket

我建立了这个,以提供一个弹出式和背景页面之间的连续双向通信。“如何使用”一节告诉你该怎么做。只需在您的弹出和背景页面中包括socket.js,连接将自动为您创建。

只需使用:

代码语言:javascript
复制
Socket.postMessage(namespace, literal, method, [args]);

这将允许您触发可以回调数据的函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9582795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档