Ok,
I'm trying to get a javascript popup script from
to work from 'inside' my shopping cart...Basically changing the default javascript popup to this one:
Quote:
// 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 = true;
// 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='+Positi onY;
var optIE='scrollbars=no,width=150,height=100,left='+P ositionX+',top='+PositionY;
function EnlargeImage(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("Micro soft")!=-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.ima ges["George"].height;}}');
writeln('function doTitle(){document.title="'+imageTitle+'";}');writ eln('</sc'+'ript>');
if (!AutoClose) writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
else writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
writeln('<img name="George" src='+imageURL+' style="display:block"></body></html>');
close();
}}
|
The code above 'almost' works, but here's the deal, I get a broken image. But I know why the code is faulting, just having a problem getting it to work. It's because the way the shopping cart parses the urls. Here's the url string that my cart is using to get the image.
Quote:
|
<a href="javascript:EnlargeImage('{$url_http}p=image& image_src={if $product.image_location=="Local"}{$url_base}{/if}{$product.image}','{$product.image_width}','{$p roduct.image_height}');"><img src="{$product.image}" {$img_width} style="border-width: 1px;" padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;" alt="{$product.title|gs}" title="{$product.title|gs}"/></a>
|
Note that in the <a href code above where you see the function name EnlargeImage, that used to be popImage (my shopping carts default popup function), and the popImage is the only thing that I changed in the url code, but the popImage function is what I removed and put the new javascript (the first bit of code)
If you want to see what the error is all about, goto: and click the image, it will pop up with a broken 'x'
Note: Only in Internet Explorer, Firefox will open a 'default' popup, which is what I am trying to avoid in the first place.
-Brian
Last edited by Brian07002 : 03-25-2006 at 01:44 AM.
|