hey,
ich habe eine JS Funktion geschrieben der ein Bildname übergeben wird. Dann wird geschaut wie groß das BIld ist und ein Popup geöffnet, das eben nur so groß ist wie das Bild und es soll noch zentriert werden. Das wird aber nicht immer erfolgreich ausgeführt, da manchmal das Bild noch nicht richtig geladen ist und die BIldgröße so nicht vorhanden ist.
Deshalb habe ich in das Popup noch eine Onload Funktion geschrieben, die dann nochmal die Größe des geladenen BIldes ausließt und dann das Fenster anpasst.
Funktioniert im IE 6/7 und FF auch problemlos. Nur lässt der Safari das onload in dem Popup nicht zu... ich habe das onload auch schon auf ein img gelegt, hat aber leider nicht geholfen, hat jemand eine idee ?
// edit nach post von oDeM
ich habe eine JS Funktion geschrieben der ein Bildname übergeben wird. Dann wird geschaut wie groß das BIld ist und ein Popup geöffnet, das eben nur so groß ist wie das Bild und es soll noch zentriert werden. Das wird aber nicht immer erfolgreich ausgeführt, da manchmal das Bild noch nicht richtig geladen ist und die BIldgröße so nicht vorhanden ist.
Deshalb habe ich in das Popup noch eine Onload Funktion geschrieben, die dann nochmal die Größe des geladenen BIldes ausließt und dann das Fenster anpasst.
Funktioniert im IE 6/7 und FF auch problemlos. Nur lässt der Safari das onload in dem Popup nicht zu... ich habe das onload auch schon auf ein img gelegt, hat aber leider nicht geholfen, hat jemand eine idee ?
PHP:
function popup(image){
var newImage = new Image();
newImage.src = "./img/"+image;
width_image = newImage.width + 20;
height_image = newImage.height + 20;
var screen_width = screen.width;
var screen_height = screen.height;
var pos_x = (screen_width/2)-(width_image/2);
var pos_y = (screen_height/2)- (height_image/2);
newWindow = window.open("","Großansicht","height="+height_image+",width="+width_image+",left="+pos_x+",top="+pos_y+"status=0");
newWindow.document.open();
newWindow.document.write('<html><head><script src="js/test.js" type="text/javascript"></script><title>Großansicht</title></head><body onload="checksize();" ><img src="img/'+image+'" style="padding10px;" alt="" name="pic" id="pic"></body></html>');
newWindow.document.close();
newWindow.focus();
}
function checksize(){
width_image = document.getElementById('pic').width + 20;
height_image = document.getElementById('pic').height + 60;
var screen_width = screen.width;
var screen_height = screen.height;
var pos_x = (screen_width/2)-(width_image/2);
var pos_y = (screen_height/2)- (height_image/2);
window.resizeTo(width_image,height_image);
window.moveTo(pos_x,pos_y);
}
// edit nach post von oDeM
Zuletzt bearbeitet: