focus()-Fehler abfangen
Soeren
- javascript
Hallo zusammen,
Gibt es eine Moeglichkeit einen Javascript-Fehler abzufangen, wenn ein popup zu oeffen fehl schlug?
Zur Zeit oeffne ich ein neues Fenster ueber open() und setze dann einen focus() darauf, der den Fehler verursacht, wenn das Popup z.B. durch den Browser unterdrueckt wurde.
var new_win = window.open(...);
new_win.focus();
Nun moechte ich also sowas wie
if(!new_win_nicht_offen)
new_win.focus();
erstellen um den Fehler abzufangen.
Danke fuer Hilfe,
Soeren
Hallo.
Ich denke dein Browser wird dir einen JS-Fehler anzeigen, mit dem Grund:
... ist undefiniert.
Also musst du überprüfen, ob ein Fehler auftritt:
http://de.selfhtml.org/javascript/beispiele/fehlerbehandlung.htm
und
http://de.selfhtml.org/javascript/beispiele/fehlerbehandlung_try_catch.htm
könnten dir dabei helfen.
Ich hoffe ich konnte helfen, H2O
Hallo,
Gibt es eine Moeglichkeit einen Javascript-Fehler abzufangen, wenn ein popup zu oeffen fehl schlug?
Zur Zeit oeffne ich ein neues Fenster ueber open() und setze dann einen focus() darauf, der den Fehler verursacht, wenn das Popup z.B. durch den Browser unterdrueckt wurde.
var new_win = window.open(...);
Hier speicherst du die Referenz auf das window-Objekt des Popup-Fensters in der Variablen new_win. Das Ganze funktioniert nur, wenn das Fenster auch geöffnet wurde.
new_win.focus();
Nun moechte ich also sowas wie
if(!new_win_nicht_offen)
new_win.focus();erstellen um den Fehler abzufangen.
if (new_win)
new_win.focus();
Mathias
Hi,
if (new_win)
new_win.focus();
Leider ist new_win bei manchen PopUp-Blockern selbst dann gesetzt, wenn sie das Fenster blockiert haben. :-(
Gruß, Cybaer
Hallo,
if (new_win)
new_win.focus();Leider ist new_win bei manchen PopUp-Blockern selbst dann gesetzt, wenn sie das Fenster blockiert haben. :-(
Das hatte ich befürchtet. Welchen Typs ist new_win dann, hat es einen Wert? Würde also ein einfaches if (new_win && new_win.focus) weiterhelfen?
Um welche Popup-Blocker handelt es sich genau? Ich würde das gerne mal austesten.
Mathias
Hi,
Welchen Typs ist new_win dann, hat es einen Wert?
Es ist das erwartete Fenster-Objekt - nur geht das Fenster eben nicht auf. :-(
Würde also ein einfaches if (new_win && new_win.focus) weiterhelfen?
AFAIR nein. 1 geht klar, 2 gibt dann Fehler, weil das Objekt nicht existiert. Aber der Fehler ist ja abfangbar ...
Um welche Popup-Blocker handelt es sich genau?
Oh je, soviel mache ich nicht mit PopUps. :) Ich kann nur noch sagen, daß es nicht der Mozilla-Blocker war. AFAIR war es ein nachrüstbarer Blocker für den IE.
Da PopUps, wie jede JavaScript-Aktion, ohnehin nur von bedingter Relevanz sein sollten, habe ich das nicht weiter verfolgt. Ich hätte in diesem Fall aber den focus() ohnehin prinzipiell nicht von außen, sondern in der PopUp-Seite selbst gesetzt.
Und wer fehlerhafte PopUp-Blocker verwendet, ist letztlich "selber schuld" [tm]. ;)
Gruß, Cybaer