Loading...

chromium-extensions@googlegroups.com

[Prev] Thread [Next]  |  [Prev] Date [Next]

[crx] Re: Content script not communicating with background.html...again FractalBob Wed Dec 30 10:00:21 2009

Thanks for your suggestion, PhistucK. It helps but it's not quite
there. The problem is that I need to handle several responses, so in
GetResponseAndAct() I need to determine which response I'm receiving,
store it in a variable and move the server declaration outside the
function. How do I interrogate GetResponseAndAct for the response?

On Dec 30, 4:04 am, PhistucK <[EMAIL PROTECTED]> wrote:
> Yes, everything is asynchronous.
>
> You have sent a request. The response will not be received immediately.
> You put a "return" in the function you have assigned to the callback, it
> returns this value to... nothing.
>
> What you should do, is something like that -
> function GetResponseAndAct(Response)
> {
>  var server = "https://" + Response.hostname + ":" + Response.port;}
>
> function getHostParm(parm)
> {
> chrome.extension.sendRequest({name: parm}, GetResponseAndAct)}
>
> getHostParm("hostname");
>
> ☆PhistucK
>
>
>
> On Wed, Dec 30, 2009 at 10:27, FractalBob <[EMAIL PROTECTED]> wrote:
> > Hi,
>
> > I thought I had this problem licked in my last extension. And I did.
> > But now it's happening again and I don't see how this context is any
> > different from the last.
>
> > The following code, in the content script, is sending a couple of
> > requests to background.html for data in local storage:
>
> > background.html waits for requests:
>
> > //Wait for request for the host name, port, e-mail address and
> > password from content script
> > chrome.extension.onRequest.addListener(
> >  function(request, sender, sendResponse)
> >  {
> >  if (request.name == "hostname")
> >    {
> >    sendResponse({hostname: localStorage["hostname"]});
> >    }
> >  if (request.name == "port")
> >    {
> >    sendResponse({port: localStorage["port"]});
> >    }
> >  if (request.name == "passwd")
> >    {
> >    sendResponse({passwd: localStorage["passwd"]});
> >    }
> >  if (request.name == "email_addr")
> >    {
> >    sendResponse({email_addr: localStorage["email_addr"]});
> >    }
> >  }
> >  );
>
> > However, when I ran the debugger, it seemed that getHostParm()
> > completed before the listener could respond. In any case, getHostParm
> > () returns "undefined". I know the requested data is on disk, because
> > it's part of my options processing and I know that works. Anyone have
> > any ideas?
>
> > --
>
> > You received this message because you are subscribed to the Google Groups
> > "Chromium-extensions" group.
> > To post to this group, send email to [EMAIL PROTECTED]
> > To unsubscribe from this group, send email to
> > [EMAIL PROTECTED]<chromium-extensions%2Bunsu [EMAIL PROTECTED]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/chromium-extensions?hl=en.

--

You received this message because you are subscribed to the Google Groups 
"Chromium-extensions" group.
To post to this group, send email to [EMAIL PROTECTED]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/chromium-extensions?hl=en.