bassebhuMedlem sedan nov. 20016 480 inlägg Hej!
Just nu kör jag ett phpscript som hämtar en bildurl från databasen, om bilden finns så körs getimagesize och jag får fram hur stor bilden är. Nu skulle jag även vilja anpassa popupen till bildens storlek...
Men först i efterhand! Detta för att det är så krävande laddningsmässigt att kolla om alla bilder finns och hämta bildstorlek för varje på min bildsida...
Jag vill alltså först i popupen anpassa fönstrets storlek. Går det? Är det funktionellt i så fall? Hur gör man? :)
Tack!
Peter SMedlem sedan dec. 20025 483 inlägg Hejsan!
Placera:
window.resizeTo([b]bredd[/b], [b]höjd[/b]);
på lämpligt ställe; onload="..." t ex.
:)
bassebhuMedlem sedan nov. 20016 480 inlägg Yeah, vad enkelt. Verkar funka också. MEN om jag anger att popupen ska vara 300 x 150 när den öppnas så blir den inte samma storlek efter att jag kört resize på samma värden, 300 x 150. Varför?
JojoxxMedlem sedan juni 20004 308 inlägg Därför att egenskapen du anger för window.open är fönstrets innermått medans window.resizeTo använder yttermått. Skillnaden är alltså fönsterramens & verktygsfältens bredd/höjd.
bassebhuMedlem sedan nov. 20016 480 inlägg
Jojoxx skrev:
Därför att egenskapen du anger för window.open är fönstrets innermått medans window.resizeTo använder yttermått. Skillnaden är alltså fönsterramens & verktygsfältens bredd/höjd.
åhh vad kul :( d v s omöjligt att få lika på mac / pc.
men bättre än inget alls :)
Tänk på att i Mozilla så kan man stänga av så att sidor inte kan ändra storleken på webbläsarfönstret. Lämpligast är väl att i window.open säga hur stort fönstret ska vara. Kanske kan du lagra bildstorleken i en databas?
bassebhuMedlem sedan nov. 20016 480 inlägg
Erik Juhlin skrev:
Tänk på att i Mozilla så kan man stänga av så att sidor inte kan ändra storleken på webbläsarfönstret. Lämpligast är väl att i window.open säga hur stort fönstret ska vara. Kanske kan du lagra bildstorleken i en databas?
Mycket intressant tanke. men det blir för mycket att lagra/hämta i längden tror jag. vill ha überfortighet :)
Nu har jag en till fundering. Hur får jag mitt popupfönster att hamna centrerat? Går det också att fixa i efterhand? Eftersom jag inte vet hur stort fönstret kommer att bli :OO
Och sista saken, hur får jag så att scrollern visas om jag använder denna kod:
onclick="javascript:window.open('infoImg.php','infoImg', 'width=500,height=300');return false;"
Nu visas bara scrollern i IE på mac, men ingen annan läsare jag testat... ska in nåt i denna klump tro 'width=500,height=300' ?
Peter SMedlem sedan dec. 20025 483 inlägg Antag att du har sparat bredden respektive höjden på ditt fönster i variabler width och height. Då
var width = 500,
height = 300;
var win = window.open("infoImg.php","infoImg", "width="+ width +",height="+ height +",[b]left="+ ((window.screen.availWidth - width) / 2) +",top="+ ((window.screen.availHeight - height) / 2)+",scrollbars[/b]");
Om du öppnar fönstret enligt ditt exempel:
onclick="window.open('infoImg.php','infoImg','[b]width=500,height=300,left='+ ((window.screen.availWidth - 500) / 2) +',top='+ ((window.screen.availHeight - 300) / 2) +',scrollbars[/b]'); return false"
Alternativt kan du skapa en referens till fönstret, var win = window.open(...), och sedan:
win.moveTo((window.screen.availWidth - [b]width[/b]) / 2, (window.screen.availHeight - [b]height[/b]) / 2);
bassebhuMedlem sedan nov. 20016 480 inlägg ok. det går alltså inte att centrera fönstret i efterhand?
men tack för scriptet. jag vet alltså inte fönstrets bredd och höjd i förväg...
:) tack.
Peter SMedlem sedan dec. 20025 483 inlägg I samma veva som du anger fönstrets dimensioner använder du det sista exemplet ovan. Om du anger bredd och höjd i popupfönstret använder du window.moveTo(...) i samma fönster (där window i detta fall alltså är referensen).
:)
bassebhuMedlem sedan nov. 20016 480 inlägg hehe kom precis på det :) tack för all hjälp :)
Om någon vill ha samma funktion... (i samarbete med min php-kod):
<body onLoad="window.resizeTo(<?=($width)?>, <?=($height)?>);window.moveTo((window.screen.availWidth - <?=($width)?>) / 2, (window.screen.availHeight - <?=($height)?>) / 2);" scroll="no">