Avatar billede deamill Nybegynder
13. august 2003 - 13:39 Der er 20 kommentarer og
1 løsning

Billede størrelse??

Er det muligt, med et lille simplet java script eller html kode, og finde ud af hvor stor et billede er?
Avatar billede jakobclausen Nybegynder
13. august 2003 - 13:41 #1
Hvordan skal det bruges?
Avatar billede jakobclausen Nybegynder
13. august 2003 - 13:42 #2
F.eks. dette script finder størrelsen på billedet og laver et popup vindue i samme størrelse: www.bokaj.dk/eksperten/gribben/
Avatar billede deamill Nybegynder
13. august 2003 - 13:46 #3
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");

hvor file er det billede som skal åbnes!
Avatar billede roenving Novice
13. august 2003 - 13:52 #4
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:

http://roenving.users.whitehat.dk/WD1ResizeTilBillede.html
Avatar billede jakobclausen Nybegynder
13. august 2003 - 13:58 #5
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>

<-- Sættes ind mellem <body> og </body> -->


<a href="java script:popImage('stortbillede.gif','Some Title')">
<img src="lillebillede.gif" border="0" alt="Se stort billlede">
</a>

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
Avatar billede roenving Novice
13. august 2003 - 14:04 #6
-- 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]
Avatar billede jakobclausen Nybegynder
13. august 2003 - 14:06 #7
roenving >> JA det er scriptet fra siden jeg linkede til i starten.

Kan man lave samme funktion med onload, hvordan?
Avatar billede roenving Novice
13. august 2003 - 14:11 #8
Du flytter bare reSizeToImage(); fra body til img:

Snip:

if (!AutoClose) writeln('</head><body bgcolor=000000 scroll="no" onload="doTitle();self.focus()">')
else writeln('</head><body bgcolor=000000 scroll="no" onload="doTitle();self.focus()" onblur="self.close()">');
writeln('<img name="George" src='+imageURL+' style="display:block" onload="reSizeToImage();"></body></html>');
close();       
}}
Avatar billede deamill Nybegynder
13. august 2003 - 14:12 #9
--> roenving

når jeg laver <a href="#" onclick="popWin('_pictures/diverse/B21.jpg');return false;"><IMG SRC="_pictures/diverse/B21_tumb.jpg" width="150" height="100" BORDER="0"></a>

så får jeg fejlen object expected?
Avatar billede jakobclausen Nybegynder
13. august 2003 - 14:14 #10
roenving >> det er jeg ikke lige helt med på, har du icq?
Avatar billede roenving Novice
13. august 2003 - 14:23 #11
>>jakob nej, men her kan du vel skrive ...

>>deamill

Hvornår ?-)
Avatar billede deamill Nybegynder
13. august 2003 - 14:24 #12
når jeg klikker på linket, jeg har selvf. insat den anden kode i headeren!
Avatar billede roenving Novice
13. august 2003 - 14:26 #13
??

-- og du har ikke problemer i min WD ?-)
Avatar billede jakobclausen Nybegynder
13. august 2003 - 14:30 #14
roenvig >> Gider du ikke prøve at maile mig min kode, men lavet med onload til eksperten@bokaj.dk
Avatar billede roenving Novice
13. august 2003 - 14:45 #15
Jo, da, et øjeblik -- det er vel i orden at jeg bare sætter det ind !-)
Avatar billede deamill Nybegynder
13. august 2003 - 15:00 #16
roenving -> nu virker det!!

Hvad skal man tilføje i din kode for at for popupen til automatiks og komme i fokus, hvis den ligger åben i baggrunden når man trykker på et billede??

Din code:
    function popWin(file){
      newWin=window.open("","ResizeBillede","width=300,height=200,status=no");
      txt='<ht'+'ml><he'+'ad><ti'+'tle>Resize til billede<\57ti'+'tle><scri';
      txt+='pt language="javascript" type="text/javascript">';
      txt+='function resPic(){h=document.images[0].scrollHeight;';
      txt+='w=document.images[0].scrollWidth;window.resizeTo(w+6,h+32);}<\57scri';
      txt+='pt><\57he'+'ad><bo'+'dy style="overflow:hidden;';
      txt+='border:0px;margin:0px"><i'+'mg src="'+file+'" style="top:0px;left:0px;border:0px;';
      txt+='" onload="resPic();"><\57bo'+'dy><\57ht'+'ml>';
      newWin.document.write(txt);
      newWin.document.close();
    }
Avatar billede deamill Nybegynder
13. august 2003 - 15:17 #17
roenving -> du skal huske og svare, så jeg kan give dig points ;)

og hvis du også kan hjælpe mig med ovenstående, sååå bliver jeg rigtig glad he he..
Avatar billede roenving Novice
13. august 2003 - 15:34 #18
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 !-)

-- og til sidst i det, du viste:


      newWin.document.close();
      newWin.focus();
    }

Velbekomme '-)
Avatar billede deamill Nybegynder
14. august 2003 - 09:14 #19
takker :-)
Avatar billede roenving Novice
14. august 2003 - 09:57 #20
-- og tak for points ;~}
Avatar billede jakobclausen Nybegynder
14. august 2003 - 21:34 #21
;~} selv ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester