Diese JavaScript-Funktion öffnet ein neues Fenster, das das Bild zeigt, dass Daten sais (Daten enthält einen Bildpfad). Ich möchte dieses neue Fenster schließen, wenn der Benutzer irgendwo darauf klickt. Ich dachte, ich könnte es tun, indem ich etwas Javascript in window.write() einfügen, aber ich mache etwas falsch. Irgendwelche Hinweise?Wie schreibe ich js in window.write()
function myFunction(data) {
img = new Image();
img.src = data;
window.open(data, '_blank', 'toolbar=0,location=0,menubar=0, width = '+ img.width +', height=' + img.height);
//window.write(<script type="text/javascript"> $(document).click(function(e) { if (e.button == 0) {window.close(); }}); </script>);
}
Es gibt keine 'window.write()' Methode. Es gibt ein 'document.write()', aber wenn Sie versuchen, in das neu geöffnete Fenster zu schreiben, müssten Sie das Dokumentobjekt aus diesem neuen Fenster holen. – jfriend00
Kann ich das Dokumentobjekt aus diesem neuen Fenster abrufen, indem ich var mywindow = window.open (....); ? –
Ja, Sie können das Dokumentobjekt aus dem neuen Fensterobjekt abrufen. Aber es gibt Timing-Probleme damit und mit Ihrem Code. Zum Beispiel versuchen Sie, "img.width" zu referenzieren, bevor das Bild tatsächlich fertig geladen wurde, so dass es nicht funktioniert. – jfriend00