Siechfred: window.open

Beitrag lesen

Tag Christiane.

ich habe ein Script geschrieben, welches eine Bilddatei in einem neuen Fenster öffnet. Mithilfe vom screen-objekt habe ich die Fenstergröße auch optimal an die Bildschirmauflösung anpassen können. Dummerweise bleibt das Bild im Fenster jedoch in seiner ursprünglichen Größe; gibt es eine Möglichkeit, die Bildgröße ebenfalls als Parameter o.ä. durchzugeben?

Wie sieht denn dein Code aus? Grundsätzlich kannst du von einem Bildobjekt ja Breite und Höhe auslesen:

function open_IMG(quelle) {  
  var obj = new Image();  
  obj.src = quelle;  
  obj.onload = function() { var w = this.width + 20;  
                            var h = this.height + 20;  
                            var win = window.open(this.src, "Bild", "width="+w+",height="+h+",left=0,top=0");  
                            win.focus();  
                          }  
  obj.onerror = function() { alert(this.src + " konnte nicht geladen werden."); }  
}

Natürlich könntest du onload auch eine explizite Funktion zuweisen:

obj.onload = function() { deineFunktion(this); }  
  
function deineFunktion(bObj) {  
  var w = bObj.width + 20;  
  var h = bObj.height + 20;  
  var title = bObj.src.substring(bObj.src.lastIndexOf("/")+1, bObj.src.length);  
  win = window.open("","Detailansicht","width="+w+",height="+h+",left=0,top=0,menubar=no,status=no");  
  win.document.open("text/html");  
  win.document.write("<html><head><title>"+title+"<\/title><\/head><body style='background-color:white'>");  
  win.document.write("<div style='text-align:center'><img src='"+this.src+" width='"+bObj.width+"' height='"+bObj.height+"'><br>");  
  win.document.write("<input type='button' name='close' value='Fenster schliessen' onClick='self.close();'>");  
  win.document.write("<\/div><\/body><\/html>");  
  win.document.close();  
  win.focus();  
}

Und im HTML:

<a href="./dein_bild.png" onclick="open_IMG(this.href);return false;">Klick</a>

Wie Utz schon schrieb, solltest du allerdings das Skalieren sein lassen.

Siechfred

--
Früh übt sich ... (74kB)
Der schwierigste Blick ist immer der über den Tellerrand -- man glaubt gar nicht, wie hoch so ein Tellerrand sein kann.