Automatically open window, but not with onLoad

J

jadiyo

Hi,

I've read many questions about how to automatically open a new window
from a page using the JavaScript onLoad command.

Unfortunately, due to the web application framework being used
(WebLogic Portal 7), I can not use it as it is already being used and
is only called once by the browser(so I believe).

What I am essentially trying to do is open a "Please wait, this may
take some time" window while some sort data retrieval is done and then
close it when the method has returned and the rest of the page is ready
to be displayed.

I appreciate this is a JavaScript forum, but any solution would be
appreciated.

Many Thanks

Jadiyo
 
R

Randell D.

jadiyo said:
Hi,

I've read many questions about how to automatically open a new window
from a page using the JavaScript onLoad command.

Unfortunately, due to the web application framework being used
(WebLogic Portal 7), I can not use it as it is already being used and
is only called once by the browser(so I believe).

What I am essentially trying to do is open a "Please wait, this may
take some time" window while some sort data retrieval is done and then
close it when the method has returned and the rest of the page is ready
to be displayed.

I appreciate this is a JavaScript forum, but any solution would be
appreciated.

Many Thanks

Jadiyo

There are two things you could do - You could change the function called
in your onLoad to call something else... and have its value contained
inyour new function... thus if onLoad="someRoutine();" then you could
create a new function called newFunction and have it call someRoutine()
and to perform your window.open... Then change onLoad to call newFunction.

Failing that... you could just put in a window.open call in a piece of
inline javascript... this would be called automatically when read (put
it at the end of your HTML, just inside the </BODY> tag to ensure its
run late...

Does that help you any?

(I gather you've already thought about the number of browsers out there
that would disable popups)

randelld
 
R

RobB

jadiyo said:
Hi,

I've read many questions about how to automatically open a new window
from a page using the JavaScript onLoad command.

Unfortunately, due to the web application framework being used
(WebLogic Portal 7), I can not use it as it is already being used and
is only called once by the browser(so I believe).

What I am essentially trying to do is open a "Please wait, this may
take some time" window while some sort data retrieval is done and then
close it when the method has returned and the rest of the page is ready
to be displayed.

I appreciate this is a JavaScript forum, but any solution would be
appreciated.

Many Thanks

Jadiyo

window.onload isn't a 'command', it's an object property, assigned like
any variable. It's called as window.onload() when the event for which
it is named - Load in this case - fires. The challenge is not to
overwrite any previously made assignments to it when adding new
listeners. DOM addEventListener() was designed for this, encapsulating
the process so it can be done non-destructively. Unfortunately, *all*
listeners need to be registered this way for it to succeed. Here's a
way to assign a new onload handler without overwriting the old:

var oldhandler = window.onload;
window.onload = function()
{
if (oldhandler)
oldhandler();
newhandler();
}

hth
 
R

Randell D.

RobB said:
window.onload isn't a 'command', it's an object property, assigned like
any variable. It's called as window.onload() when the event for which
it is named - Load in this case - fires. The challenge is not to
overwrite any previously made assignments to it when adding new
listeners. DOM addEventListener() was designed for this, encapsulating
the process so it can be done non-destructively. Unfortunately, *all*
listeners need to be registered this way for it to succeed. Here's a
way to assign a new onload handler without overwriting the old:

var oldhandler = window.onload;
window.onload = function()
{
if (oldhandler)
oldhandler();
newhandler();
}

hth

I didn't make the OP but I do like the solution... its simple and
tidy... nice!

randelld
 
J

jadiyo

Thanks.
I used the simple inline javascript. I appreciate the popup issue, but
if I go down the route of writing a nice please wait page like BA and
Expedia, it could take some time to do in weblogic portal.

Jadiyo
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top