Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

new window script help needed - newbie here

Status
Not open for further replies.

Seecke

IS-IT--Management
Aug 23, 2003
68
US
First of all, Thanks to all who read and especially to those who reply and sorry about the width of this post!

I have a script on a page that uses the on_click to open a page with restricted size and controls in a new window.
I would like to know how to add more links to that script so that more widows will open up when clicked on
without duplicatin the entire script.

Below is what I am currently using (found it on dynamicdrive, I think):


function open_win(what_link){
var the_url = "calcs/piti.htm"
var the_x = 320;
var the_y = 480;
the_x -= 0;
the_y -= 0;
var how_wide = screen.availWidth;
var how_high = screen.availHeight;
if(what_link != ""){the_url=what_link;}
var the_toolbar = "no";
var the_addressbar = "no";
var the_directories = "no";
var the_statusbar = "no";
var the_menubar = "no";
var the_scrollbars = "no";
var the_do_resize = "no";
var the_copy_history = "no";
top_pos = (how_high/2) - (the_y/2);
left_pos = (how_wide/2) - (the_x/2);
if (window.outerWidth ){
var option = "toolbar="+the_toolbar+",location="+the_addressbar+",directories="+the_directories+",status="+the_statusbar+",menubar="+the_menubar+",scrollbars="+the_scrollbars+",resizable="+the_do_resize+",outerWidth="+the_x+",outerHeight="+the_y+",copyhistory="+the_copy_history+",left="+left_pos+",top="+top_pos;
site=open(the_url, "DisplayWindow", option);
var Opera = (navigator.userAgent.indexOf('Opera') != -1);
if(Opera){
site.resizeTo(the_x,the_y);
site.moveTo(0,0);
}
}
else
{
var option = "toolbar="+the_toolbar+",location="+the_addressbar+",directories="+the_directories+",status="+the_statusbar+",menubar="+the_menubar+",scrollbars="+the_scrollbars+",resizable="+the_do_resize+",Width="+the_x+",Height="+the_y+",copyhistory="+the_copy_history+",left="+left_pos+",top="+top_pos;
site=open('', "DisplayWindow", option);
site.location=the_url;
if(site.open){site.focus();return false;}
site.resizeTo(the_x,the_y);
}
}


Of course all of the script tagging is in its proper location and the page works fine right now!

Hope someone can make heads or tails of this to allow multiple links.

Thanks again!
Seecke

P.S. Again, sorry about the width of this post.
 
Sure.

You will need to change the function a little to add this extra functionality. This line occurs 2 times in your function:

Code:
site=open(the_url, "DisplayWindow", option);

If you changed it to the following then you will not get every page popping up in the same popup:

Code:
site=open(the_url, "DisplayWindow"
Code:
+the_url
Code:
, option);

If you needed to popup the same page into multiple popup windows, you would look at appending a random number (rather than just adding the name of the url).

Hope this is useful.

Jeff
 
Thanks for your reply! Please forgive my ignorace but I need some further explanation. Could you please break down the following into the code in the first message?

site=open(the_url, "DisplayWindow"+the_url, option);

also... my link looks like this:

<a href=&quot;#&quot; onClick=&quot;open_win('');return false;&quot;>blah</a>

 
Ok, with some deductive reasoning and some extensive reading from here and w3cschools.com, I figured it out!

When I need to add another link I just change

<a href=&quot;#&quot; onClick=&quot;open_win('');return false;&quot;>blah</a>

to

<a href=&quot;#&quot; onClick=&quot;open_win('nextlink.htm');return false;&quot;>blah</a>

and in the script I add an if statement like so:

if(what_link == &quot;nextlink.htm&quot;){the_x=620,the_y=630;}

to allow for the changes in the window size.


Thanks to ALL!!!

 
Great to hear you solved it! I find that using other peoples' scripts can be hard work... the best advice I was given was to &quot;just look at it for a while&quot;... this usually gets me to a point where I can at least begin to understand how it works.

Hope to see you around,
Jeff
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top