Solved

display new page after image is loaded

Posted on 2009-05-07
11
210 Views
Last Modified: 2012-05-06
I've followed this example from Tech Republic.  However, I need to know how to assign a more complicated anchor tag to the document.location.href object.

Instead of index2.html, as shown in the example below, I have the following anchor tag:
<a href='<%=formattedURL.toString()%>' target='_blank'><img align="center" border="0" src="<render:getSkinPath imageName="button.gif"/>"/></a>&nbsp;

How do I assign all of this to the document object?

<html>
 

<head>
 

<script language="JavaScript">
 
 
 

// create an image object
 

objImage = new Image();

     
 

// set what happens once the image has loaded objImage.onLoad=imagesLoaded();

     
 

// preload the image file
 

objImage.src='images/image1n.gif';
 
 
 

// function invoked on image load
 

function imagesLoaded()
 

{    

     document.location.href='index2.html';
 

}
 
 
 

</script>
 

</head>

Open in new window

0
Comment
Question by:newbieal
  • 5
  • 3
  • 3
11 Comments
 
LVL 4

Expert Comment

by:Ronb23
Comment Utility
If I understand this correctly, you're looking to pass a different URL into your function.

Try this in your JavaScript function:

function imagesLoaded()
{
      var myURL = '<%=formattedURL.toString()%>';
      document.location.href='myURL';
}

and you href tag would look something like this:
<a href="#" onClick="javascript:imagesLoaded();" target='_blank'><img align="center" border="0" src="<render:getSkinPath imageName="button.gif"/>"/></a>

hope this helps.
0
 
LVL 4

Author Comment

by:newbieal
Comment Utility
Looks good, but when I implement this code, instead of opening up a new window with it pointing to myURL, it just opens up a new window with the previous screen.  I'm thinking it's the href="#" part.
shouldn't it be href="myURL"?
0
 
LVL 4

Expert Comment

by:Ronb23
Comment Utility
document.location.href is a control for the current window you're in. Also, if you placed "myURL" in the href="#", that defeats the purpose of assigning the javascript funtion with the url. You could also try this:

function imagesLoaded()
{
      var myURL = '<%=formattedURL.toString()%>';
      window.open='myURL';
}

<a href="#" onclick="imagesLoaded();return false;">><img align="center" border="0" src="<render:getSkinPath imageName="button.gif"/>"/></a>
0
 
LVL 4

Author Comment

by:newbieal
Comment Utility
i would like to open a new window though.  How do i do this?
0
 
LVL 4

Expert Comment

by:Ronb23
Comment Utility
What i posted above opens a new window.
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 54

Expert Comment

by:b0lsc0tt
Comment Utility
To open a new window you need to use ...
function imagesLoaded() {
    var myUrl = '<%=formattedURL.toString()%>';
    window.open(myUrl, 'newWindow');
}
Window.open doesn't use an equal sign.  Let me know if there is a question.
bol
0
 
LVL 54

Assisted Solution

by:b0lsc0tt
b0lsc0tt earned 200 total points
Comment Utility
Take a look at the html source (i.e. in the browser choose the View Source option) to see how  the resulting html looks.  It seems you may end up with extra > characters.  Post that code if you have a question or still have a problem getting this to work.
bol
0
 
LVL 4

Expert Comment

by:Ronb23
Comment Utility
oops sorry, pasted the wrong one:

function imagesLoaded()
{
      var myURL = '<%=formattedURL.toString()%>';
      window.open(myURL)';
}

<a href="#" onclick="imagesLoaded();return false;">><img align="center" border="0" src="<render:getSkinPath imageName="button.gif"/>"/></a>
0
 
LVL 54

Assisted Solution

by:b0lsc0tt
b0lsc0tt earned 200 total points
Comment Utility
>>       window.open(myURL)'; <<

You need to include the second parameter when using window.open.  It is for the "name" of the window and is not optional.  Leaving it off might work in some browsers but will fail and it should not be omitted.
bol
p.s.  There is also a typo in that line
0
 
LVL 4

Accepted Solution

by:
Ronb23 earned 300 total points
Comment Utility
Having a sloppy day. It's the Friday syndrome...

function imagesLoaded()
{
      var myURL = '<%=formattedURL.toString()%>';
      window.open(myURL, 'newwin');
}

<a href="#" onclick="imagesLoaded();return false;">
<img align="center" border="0" src="<render:getSkinPath imageName='button.gif'/>"/>
</a>
0
 
LVL 4

Author Closing Comment

by:newbieal
Comment Utility
worked, thanks much!
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Suggested Solutions

This article discusses the difference between strict equality operator and equality operator in JavaScript. The Need: Because JavaScript performs an implicit type conversion when performing comparisons, we have to take this into account when wri…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now