Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Opening a new window and attaching an onload event listener.

Reply
Thread Tools

Opening a new window and attaching an onload event listener.

 
 
Daz
Guest
Posts: n/a
 
      12-30-2006
Hello everyone,

I would like to open a child window from the parent, and add an onload
event listener to the child window which will tell the parent when the
document has loaded. As far as I know, this shouldn't be an issue, but
I just can't get it to work. The script only needs to work with
Firefox/Mozilla, so XP code isn't an issue.

I have tried to open a window like so.

var newWindow = open('','','');

This works as expected.
Next I redirect the child window:

newWindow.location.href = 'http://www.google.co.uk';

Again, this works no problem.
before the child window is redirected, I have tried several methods of
adding an onload event listener to the window, from the script inside
the parent window, but nothing seems to work. I have tried:

newWindow.onload = windowLoaded;
newWindow.document.onload = windowLoaded;
newWindow.addEventListener('onload', windowLoaded, true);
newWindow.document.addEventListener('onload', windowLoaded, true);

None of which seem to work. Please could someone explain where I have
screwed up?

Many thanks.

Daz.

 
Reply With Quote
 
 
 
 
Fred
Guest
Posts: n/a
 
      12-30-2006

Daz wrote:
> Hello everyone,
>
> I would like to open a child window from the parent, and add an onload
> event listener to the child window which will tell the parent when the
> document has loaded. As far as I know, this shouldn't be an issue, but
> I just can't get it to work. The script only needs to work with
> Firefox/Mozilla, so XP code isn't an issue.
>
> I have tried to open a window like so.
>
> var newWindow = open('','','');
>
> This works as expected.
> Next I redirect the child window:
>
> newWindow.location.href = 'http://www.google.co.uk';
>
> Again, this works no problem.
> before the child window is redirected, I have tried several methods of
> adding an onload event listener to the window, from the script inside
> the parent window, but nothing seems to work. I have tried:
>
> newWindow.onload = windowLoaded;
> newWindow.document.onload = windowLoaded;
> newWindow.addEventListener('onload', windowLoaded, true);
> newWindow.document.addEventListener('onload', windowLoaded, true);
>
> None of which seem to work. Please could someone explain where I have
> screwed up?


When you open your popup, it contains an empty document. You attach an
onload handler to the empty document, then re-direct the URL so that
document is destroyed and a new one is loaded.

You have to put the onload handler in the new document, you can't
attach it from the calling page unless you actually write the document
from the calling page (say using document.write).


--
Fred.

 
Reply With Quote
 
 
 
 
Daz
Guest
Posts: n/a
 
      12-31-2006

Fred wrote:

> Daz wrote:
> > Hello everyone,
> >
> > I would like to open a child window from the parent, and add an onload
> > event listener to the child window which will tell the parent when the
> > document has loaded. As far as I know, this shouldn't be an issue, but
> > I just can't get it to work. The script only needs to work with
> > Firefox/Mozilla, so XP code isn't an issue.
> >
> > I have tried to open a window like so.
> >
> > var newWindow = open('','','');
> >
> > This works as expected.
> > Next I redirect the child window:
> >
> > newWindow.location.href = 'http://www.google.co.uk';
> >
> > Again, this works no problem.
> > before the child window is redirected, I have tried several methods of
> > adding an onload event listener to the window, from the script inside
> > the parent window, but nothing seems to work. I have tried:
> >
> > newWindow.onload = windowLoaded;
> > newWindow.document.onload = windowLoaded;
> > newWindow.addEventListener('onload', windowLoaded, true);
> > newWindow.document.addEventListener('onload', windowLoaded, true);
> >
> > None of which seem to work. Please could someone explain where I have
> > screwed up?

>
> When you open your popup, it contains an empty document. You attach an
> onload handler to the empty document, then re-direct the URL so that
> document is destroyed and a new one is loaded.
>
> You have to put the onload handler in the new document, you can't
> attach it from the calling page unless you actually write the document
> from the calling page (say using document.write).
>
>
> --
> Fred.


So basically, I need to initiate the page load, and then attach the
event listener? I'm not sure if that will work. I could right, say a
carriage return to the child window, but as soon as I change the
location of the page, I will no doubt lose the event handler.

What I don't understand, is why I can't attach it to the window, as
opposed to the document.

What I am trying to achieve, is an application which can run from the
parent window, and use the child window to navigate to various pages on
the site, and get information from each page (such as links, and user
specific information), so it will effectively work as a macro, saving
the user time waiting for pages to load and clicking on more links. I
am not sure the best way to go about doing this, and the best way I
could think of (above), clearly isn't going to work...

Thank you for your comments Fred.

 
Reply With Quote
 
Daz
Guest
Posts: n/a
 
      12-31-2006

Jim Land (NO SPAM) wrote:

> "Daz" <(E-Mail Removed)> wrote in news:1167542962.890494.88000
> @i12g2000cwa.googlegroups.com:
>
> > ...attach the event listener...
> > What I don't understand, is why I can't attach it to the window, as
> > opposed to the document.
> >

>
> Oh, you can attach it to the window, all right, but as soon as you direct
> the window to a new URL, what happens? The window discards your attachment
> and loads a whole new page.


Oh I see. I keep getting confused between document, and window. I
thought it was the _document_ being redirected, not the window. Hehe.

Thanks for clearing that up for me Jim.

 
Reply With Quote
 
yuval.invoke@gmail.com
Guest
Posts: n/a
 
      02-09-2007
Hi.
I've been struggling with the very same issue for the past few days. I
want to be able to load a new document from a parent window and read
some parameters from the newly opened document. I too, tried attaching
an onload event to the new document, but got undefined values when
trying to read values from the new document. I couldn't find-out why,
until this thread gave me the answer. So, thanks. But, still, I didn't
achieve my goal yet, is there a way it can be done?
Thanks,
- Yuval

Daz כתב:
> Jim Land (NO SPAM) wrote:
>
> > "Daz" <(E-Mail Removed)> wrote in news:1167542962.890494.88000
> > @i12g2000cwa.googlegroups.com:
> >
> > > ...attach the event listener...
> > > What I don't understand, is why I can't attach it to the window, as
> > > opposed to the document.
> > >

> >
> > Oh, you can attach it to the window, all right, but as soon as you direct
> > the window to a new URL, what happens? The window discards your attachment
> > and loads a whole new page.

>
> Oh I see. I keep getting confused between document, and window. I
> thought it was the _document_ being redirected, not the window. Hehe.
>
> Thanks for clearing that up for me Jim.


 
Reply With Quote
 
Daz
Guest
Posts: n/a
 
      02-10-2007
On Feb 9, 5:16 am, (E-Mail Removed) wrote:
> Hi.
> I've been struggling with the very same issue for the past few days. I
> want to be able to load a new document from a parent window and read
> some parameters from the newly opened document. I too, tried attaching
> an onload event to the new document, but got undefined values when
> trying to read values from the new document. I couldn't find-out why,
> until this thread gave me the answer. So, thanks. But, still, I didn't
> achieve my goal yet, is there a way it can be done?
> Thanks,
> - Yuval
>
> Daz כתב:
>
> > Jim Land (NO SPAM) wrote:

>
> > > "Daz" <(E-Mail Removed)> wrote in news:1167542962.890494.88000
> > > @i12g2000cwa.googlegroups.com:

>
> > > > ...attach the event listener...
> > > > What I don't understand, is why I can't attach it to the window, as
> > > > opposed to the document.

>
> > > Oh, you can attach it to the window, all right, but as soon as you direct
> > > the window to a new URL, what happens? The window discards your attachment
> > > and loads a whole new page.

>
> > Oh I see. I keep getting confused between document, and window. I
> > thought it was the _document_ being redirected, not the window. Hehe.

>
> > Thanks for clearing that up for me Jim.


I think the only solution would be to have a small function in the
child window that executes a function in the parent window onload. You
also need to ensure that the child window is served from the same
domain as the parent window.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
onload -->* no onload marco Javascript 7 06-24-2006 08:39 PM
Why doesn't frameset onload event get called when each of the frames has an onload? adnanx82@gmail.com Javascript 5 05-15-2005 01:58 PM
Reading COM port - Attaching an event or interrupt for arrival of new data? Per C++ 1 04-18-2005 10:34 PM
base.OnLoad called, OnLoad not executed Fabio R. ASP .Net 0 03-25-2005 01:21 PM
window.onload and body.onload differences David Otton Javascript 2 11-04-2004 04:34 PM



Advertisments