471,338 Members | 1,292 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,338 software developers and data experts.

Automatically open window, but not with onLoad

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

Jul 23 '05 #1
4 2686
jadiyo wrote:
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
Jul 23 '05 #2
jadiyo wrote:
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

Jul 23 '05 #3
RobB wrote:
jadiyo wrote:
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


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

randelld
Jul 23 '05 #4
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

Jul 23 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

10 posts views Thread by David McCulloch | last post: by
3 posts views Thread by NeverLift | last post: by
2 posts views Thread by Richard Bell | last post: by
8 posts views Thread by J Gao | last post: by
13 posts views Thread by Seth Grimes | last post: by
11 posts views Thread by Dave | last post: by
1 post views Thread by Socrates | last post: by
reply views Thread by rosydwin | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.