Problem beim Auslesen der Größe eines Bildes
Stephan Fackler
- javascript
Hallo, allerseits!
Ich habe eine Funktion geschrieben, die ein Bild in einem neuen Fenster öffnet und die Größe des Fensters automatisch an die Bildgröße anpasst.
Leider gibt es ein Problem. Will ich das Fenster mit dem Bild öffnen, stimmt die Bildgröße beim ersten Klick auf irgendein Bild überhaupt nicht, es handelt sich immer um ein ganz kleines Fenster (ca. 50 X 50 Pixel). Beim zweiten Öffnen des Fensters (wieder per Klick auf den gleichen Link) öffnet sich das Fenster jedoch in der richtigen Größe. Woran kann denn das liegen?
Das Problem tritt bei IE6 und Mozilla auf.
Hier mein Code:
javascript.js:
--------------
function imagewindow(image)
{
IWindow = window.open("scripts/show_picture.php?image=" + encodeURI(image), "Bildansicht", "menubar= no, resizable= no");
IWindow.moveTo(50, 50);
IWindow.focus();
}
show_picture.php:
-----------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Bild anzeigen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table width="100%" height="100%"><tr valign="top"><td align="center"><a href="javascript:window.close();">
<?
$image = urldecode($_REQUEST["image"]);
$path = "../templates/images/" .$image;
echo("<img src="$path" border="0" alt="Bild" name="pic">");
?>
</a></td></tr></table>
<script language="JavaScript" type="text/JavaScript">
<!--
hoehe = document.pic.height;
breite = document.pic.width;
hoehe+= 70;
breite+= 30;
window.resizeTo(breite, hoehe);
//-->
</script>
</body>
</html>
Woran kann das liegen?
Ich kann ja nicht verlangen, dass man das Bild zweimal anklickt!
Ich wäre über jede Hilfe dankbar.
Grüße,
Stephan
Hallo, allerseits!
Ich habe eine Funktion geschrieben, die ein Bild in einem neuen Fenster öffnet und die Größe des Fensters automatisch an die Bildgröße anpasst.
Leider gibt es ein Problem. Will ich das Fenster mit dem Bild öffnen, stimmt die Bildgröße beim ersten Klick auf irgendein Bild überhaupt nicht, es handelt sich immer um ein ganz kleines Fenster (ca. 50 X 50 Pixel). Beim zweiten Öffnen des Fensters (wieder per Klick auf den gleichen Link) öffnet sich das Fenster jedoch in der richtigen Größe. Woran kann denn das liegen?
Das Problem tritt bei IE6 und Mozilla auf.
Das Bild muss erst geladen werden, bevor JS weiss wie gross es ist. Dazu existiert der onload event.
var img = new Image();
img.onload = function()
{ alert('Das Bild ist: ' + this.width + 'x' + this.height + ' gross'); };
img.src = url;
Struppi.
Das Bild muss erst geladen werden, bevor JS weiss wie gross es ist. Dazu existiert der onload event.
Danke! Jetzt funktioniert es prima!
Grüße,
Stephan