Felix Riesterer: window.open

Beitrag lesen

Liebe Marianne35,

Vielleicht ist jemand so nett und schreibt es um

wenn jemand Dir die Arbeit abnimmt, dann lernst Du ja nix dabei... Daher will ich Dir eine kleine Anleitung zur Selbsthilfe geben.

<input onClick="window.open('./smilies.php','Name','toolbar=no,status=no,menubar=no,width=95,height=145,left=600,top=250')" type="button" name="smilies" value=":-)" />

Ich schreibe den Javascript-Teil aus Deinem OnClick-Attribut einmal schöner leserlich (als wäre es aus einer externen Javascript-Datei):

window.open('./smilies.php',  
            'Name',  
            'toolbar=no,  
             status=no,  
             menubar=no,  
             width=95,  
             height=145,  
             left=600,  
             top=250'  
            );

Eine Anmerkung: Die Funktion open() gibt einen Wert (Referenz) zurück, mit dem man auf das Popup-Fenster zugreifen kann. Den sollte man nicht "verschwenden", sondern einer Variablen zuweisen. Das ist später einfacher, als den Fensternamen (in Deinem Fall "Name" - das zweite Argument in der Klammer) dafür zu benutzen.

Vorschlag: var SmileyPopup = window.open('./smilies.php','Name','...');

Ich hätte gerne das dieses geöffnete fenster vorne bleibt

Das bedeutet, dass Du auf das Popup-Fenster den Fokus setzen musst. Dazu gibt es die Funktion focus(). Nach der Einfügung müsste also die focus()-Methode auf das Popup angewandt werden. Dazu müsste man wissen, wie und wo diese Einfügung aufgerufen wird, um dort im Anschluss den Fokus zurück auf das Popup zu setzen.

Wenn Du das Popup-Fenster einer Variablen zugewiesen hast, dann kannst Du analog zu meinem Vorschlag "SmileyPopup.focus()" schreiben, damit das Fenster wieder in den Vordergrund geholt wird. Aber ohne Deinen Einfüge-Code näher zu kennen, bleibt mir nur zu raten.

Hinweis: Wenn Du die Einfügefunktion im Popup-Fenster stehen hast, dann kannst Du mit "self" anstatt "mit SmileyPopup" auf das Popup-Fenster verweisen. Das geht so: self.focus()

Liebe Grüße aus Ellwangen,

Felix Riesterer.