Onjuiste afmetingen popup in firefox

Pagina: 1
Acties:

  • BertusG
  • Registratie: November 2003
  • Niet online
Ik heb al een poos lopen zoeken om het volgende probleem op te lossen maar ik vrees dat ik met de verkeerde zoektermen zoek, want ik vind geen oplossing voor dit ogenschijnlijk veel voorkomende probleem. Het volgende..:
Ik gebruik voor m'n portfolio site een JS een popup te genereren die zich na opening automatisch aanpast aan de afmetingen van de afbeelding. Code pagina waarvan popup geopend wordt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<HTML>
 <HEAD>
   <script language="Javascript">
   function PopupPic(sPicURL) {
     window.open( "popup.htm?"+sPicURL, "",  
     "resizable=1,HEIGHT=200,WIDTH=200");
   }
   </script>
 </HEAD>
<BODY bgcolor="#FFFFFF">
   <a href="javascript:PopupPic('Image1.gif')">Image 1</a><br>
</BODY>
</HTML>


Code van de popup zelf
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<HTML>
<HEAD>
 <script language='javascript'>
   var arrTemp=self.location.href.split("?");
   var picUrl = (arrTemp.length>0)?arrTemp[1]:"";
   var NS = (navigator.appName=="Netscape")?true:false;

     function FitPic() {
       iWidth = (NS)?window.innerWidth:document.body.clientWidth;
       iHeight = (NS)?window.innerHeight:document.body.clientHeight;
       iWidth = document.images[0].width - iWidth;
       iHeight = document.images[0].height - iHeight;
       window.resizeBy(iWidth, iHeight);
       self.focus();
     };
 </script>
</HEAD>
<BODY bgcolor="#000000" onload='FitPic();' topmargin="0"  
marginheight="0" leftmargin="0" marginwidth="0">
 <script language='javascript'>
 document.write( "[img]'"[/img]" );
 </script>
</BODY>
</HTML>


Nu werkt die in IE prima de popup opent naar behoren en past zich perfect aan, aan de afmetingen van de afbeelding in kwestie. In FF doet zich echtter het volgende probleem voor. De popup die opent is zo'n 20px te klein voor de afbeelding. D.w.z. de afbeelding wordt niet geheel getoond. Na het vernieuwend van het popup window in FF zijn de afmetingen opeens wel correct. Nu stond me iets bij dat die een bekend probleem is, met waarschijnlijk een makkelijk oplossing, maar hoe lang ik ook zoek ik kan de oplossing niet vinden.

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
waarom open je eerst de popup en ga je dan de grote aanpassen?

kan je niet eerst de grote van de pic opvragen en vervolgens de popup openen met die gegevens?

This message was sent on 100% recyclable electrons.


  • BertusG
  • Registratie: November 2003
  • Niet online
BasieP schreef op zaterdag 31 december 2005 @ 14:08:
waarom open je eerst de popup en ga je dan de grote aanpassen?

kan je niet eerst de grote van de pic opvragen en vervolgens de popup openen met die gegevens?
Dat is idd ook een optie maar ik ben op het gebied van scripting niet zo heel vaardig en ik had meer het idee dat het probleem, wat zich hier voor doet meer een bekend probleem in FF is dan dat het aan het script zelf ligt. Maar ik kan er natuurlijk even goed naast zitten :).

Edit: Screenshot om het probleem te verduidelijken.
Afbeeldingslocatie: http://img463.imageshack.us/img463/9251/probleem7fi.jpg

[ Voor 12% gewijzigd door BertusG op 31-12-2005 14:18 . Reden: typo ]


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
BertusG schreef op zaterdag 31 december 2005 @ 14:10:
[...]


Dat is idd ook een optie maar ik ben op het gebied van scripting niet zo heel vaardig en ik had meer het idee dat het probleem, wat zich hier voor doet meer een bekend probleem in FF is dan dat het aan het script zelf ligt. Maar ik kan er natuurlijk even goed naast zitten :).
het zou idd goed aan FF kunnen liggen, maar ik denk wel dat het te verklaren is. (wat natuurlijk nog niet wil zeggen dat het dan goed is)

(jij had dit voorbeeld gebruikt?)

edit:
de makkelijke manier natuurlijk ;)
Java:
1
2
3
function openPicPopup(pic, w, h) {
  window.open('popup.htm?'+sPicURL, '', 'resizable=1,height='+h+',width='+w);
}


HTML:
1
<a onclick="openPicPopup('images/boe.jpg',400,300)">text</a>

waar je dan natuurlijk de w, en h invult mbv php oid

[ Voor 30% gewijzigd door BasieP op 31-12-2005 14:28 ]

This message was sent on 100% recyclable electrons.


  • BertusG
  • Registratie: November 2003
  • Niet online
Hmm ik ga dit ff proberen. Al moet ik nog wel ff gaan verzinnen hoe ik de variable uit php aan de variable uit het javascript koppel. Maar natuurlijk eerst proberen en dan pas hier vragen ;)

Iets zegt me dat ik nu wel heel simplistisch te werk ga......:
<?php

$img = "sPicURL";

$dimensions = getimagesize($img);
$w = $dimensions[0];
$h = $dimensions[1];

function openPicPopup(pic, w, h) {
window.open('popup.htm?'+sPicURL, '', 'resizable=1,height='+h+',width='+w);
}
?>

het werkt ook niet :(

Anyway als iemand nog suggesties heeft, hoor ik het graag :)

[ Voor 60% gewijzigd door BertusG op 31-12-2005 17:33 ]


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
php is server side taal, dus wat je nu doet werkt niet echt.

het zou iets worden als:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
$img = "http://domain.tld/site/blaat.jpg";
$dimensions = getimagesize($img);
$w = $dimensions[0];
$h = $dimensions[1];
?>

<html>
  <head>
    <script type="text/javascript">
      function openPicPopup(pic, w, h) {
        window.open('popup.htm?'+pic, '', 'resizable=1,height='+h+',width='+w);
      }
    </script>
  </head>
  <body>
    <a onclick="openPicPopup(<? echo "'$img',$w,$h";?>)">boe</a>
  </body>
</html>

(uit me hoofd)

[ Voor 20% gewijzigd door BasieP op 02-01-2006 02:11 ]

This message was sent on 100% recyclable electrons.


  • BertusG
  • Registratie: November 2003
  • Niet online
BasieP schreef op maandag 02 januari 2006 @ 02:11:
php is server side taal, dus wat je nu doet werkt niet echt.

het zou iets worden als:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
$img = "http://domain.tld/site/blaat.jpg";
$dimensions = getimagesize($img);
$w = $dimensions[0];
$h = $dimensions[1];
?>

<html>
  <head>
    <script type="text/javascript">
      function openPicPopup(pic, w, h) {
        window.open('popup.htm?'+pic, '', 'resizable=1,height='+h+',width='+w);
      }
    </script>
  </head>
  <body>
    <a onclick="openPicPopup(<? echo "'$img',$w,$h";?>)">boe</a>
  </body>
</html>

(uit me hoofd)
Als ik het goed begrijp is nu de url van de afbeelding niet meer variabel, dat was n.l. een beetje de bedoeling. Het is iig me wel gelukt om het via de JS methode aan de gang te krijgen. Dus bedankt voor je hulp!
Pagina: 1