Nu er jeg ikke nogen haj, men jeg skal anvende det i denne forbindelse her: pbwin = window.open(file,"pbwin","resizable=yes,status=no,toolbar=no,location=no,top=5,left=10,scrollbars=no,menu=no,width=550,height=650");
Du kan først finde et billedes størrelse, når det er loadet og vises, så du skal gå efter en løsning som jakobclausens, som kun har problemer hvis det er en meget langsom forbindelse eller et meget stort billede -- det har jeg til gengæld taget højde for her:
deamil >> Så vidt jeg kan vurdere kan du fint bruge mit eksempel, så glem din egen kode lidt, og kig på denne:
<-- Sættes ind mellem <head> og </head> -->
<Script Language="JavaScript"> // Script Source: CodeLifter.com // Copyright 2003 // Do not remove this notice.
// SETUPS: // ===============================
// 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='+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=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(); }} </script>
Og det er den nederste del der viser billedet på siden og får popUp vinduet til at åbne. stortbillede.gif og Some title er det der skal vises i popUp vinduet og lillebillede.gif er det man skal klikke på for at det åbner
-- og det er det script du har implementeret på det eksempel du viste -- helt fint, men idag er det muligt at sætte en onload på billeder, så det kan man ligesågodt udnytte !-)
Codelifters-scriptet er nemlig afhængig af, at biledet er dannet færdigt på det tidspunkt dokumentet betragter sig som færdigt -- det er desværre ikke rigtigt med store billeder og/eller langsom forbindelse !o]
Hvis du allerede har åbnet et billede skulle den ny overtage window'et -- jeg har dog ikke prøvet med anderledes properties, men størrelsen skulle den regulere !-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.