PDA

View Full Version : Image Pop-Up script problem



danamax
10-04-2005, 01:23 PM
Hi All,

I'm currently using the following script to make larger images pop-up in a new window. The problem I'm having is that the new window doesn't pop-up large enough even though there is a line of code with minimum settings.

For some reason the right side and bottom of the image are being cut off. No matter how large the image is the window opens but cuts off about 10 pixels on those two sides.

I see this function on a lot of web sites but mine seems to be the only one that doesn't work right.

Is there any way I can easily adjust this script? I'm currently using is it on a php site.

Any suggestions would be greatly appreicated.

Thanks,
Mike

<script>
// Set the horizontal and vertical position for the popup
PositionX = 100;
PositionY = 100;
// Set these value approximately 20 pixels greater than the
// size of the largest image to be used (needed for Netscape)
defaultWidth = 500;
defaultHeight = 500;
// Set autoclose true to have the window close automatically
// Set autoclose false to allow multiple popup windows
var AutoClose = false;
// Do not edit below this line...
// ================================
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;
function popImage(imageURL,imageTitle){
if (isNN){imgWin=window.open('about:blank','',optNN);}
if (isIE){imgWin=window.open('about:blank','',optIE);}
with (imgWin.document){
writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
writeln('isNN=(navigator.appName=="Netscape")?1:0;');writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
writeln('function reSizeToImage(){');writeln('if (isIE){');writeln('window.resizeTo(100,100);');
writeln('width=100-(document.body.clientWidth-document.images[0].width);');
writeln('height=100-(document.body.clientHeight-document.images[0].height);');
writeln('window.resizeTo(width,height);}');writeln('if (isNN){');
writeln('window.innerWidth=document.images["George"].width;');writeln('window.innerHeight=document.images["George"].height;}}');
writeln('function doTitle(){document.title="'+imageTitle+'";}');writeln('</sc'+'ript>');
if (!AutoClose) writeln('</head><body bgcolor=FFFFFF scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
else writeln('</head><body bgcolor=FFFFFF scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
writeln('<div align="center"><font face="verdana" size="1"><b><a href="javascript:window.close()">Close Window </a></b></div></font><img name="Product" src='+imageURL+' style="display:block"></body></html>');
close();
}}

</script>

jscheuer1
10-04-2005, 03:32 PM
Have a look at this thread (http://www.dynamicdrive.com/forums/showthread.php?t=5098).

danamax
10-06-2005, 03:00 PM
Hi John,

Thanks for the info.

Unfortunately though the script I'm currently using isn't from Cmotion and I can't seem to figure out how to use the replacement code the other thread suggested.

I can get the window to open however all I get is a blank window with a grey background.

I can't seem to get the path configured so that my images are displayed.

Do you see any glaring errors in the current code that I'm using that may be adjusted to correct my original problem. It works fine in Firefox and Netscape but not in IE.

Thanks again,
Mike

jscheuer1
10-10-2005, 06:03 AM
I just tried out your code here and it worked off of this:


<a href="#" onclick="popImage('1st.jpg','hi')">Hello</a>

in IE and FF except that both instances of "George" needed to be changed to "Product" but, that was only for resizing in FF.