• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] zu js parent Nutzung...

Paykoman

New member
Hallöchen,

nun es gibt ja verschiedene Arten mittels JS content als iFrame zu laden, wie fancybox oder andere Fenster System.
Diese Fenster können via parent auch Funktionen der Hauptseite ansprechen wie zb. parent.hauptSeiteTest('huhu'); nun hab ich festgestellt das wenn der content des Fensters selber eine gleichnamige Funktion besitzt und es in einem neuen Tab und nicht als iFrame geladen wird, eben einfach die eigene Funktion angesprochen und das parent scheinbar ignoriert wird.

Was mir eigentlich auch ganz gut gefällt, die Frage ist, ist das Absicht und machen das alle Browser so?
Wenn nicht müsste ich halt ne if-else einbauen so das wenn es als child geladen wird eben mit parent und als nicht child die Funktion ohne parent aufruft, als Fallback eben.

MFG: Paykoman
 
Zuletzt bearbeitet von einem Moderator:
Nein, es ging mir nicht darum von einem Tab aus parent ausführen zu wohlen (aber opener werde ich trdm. mal anschauen könnte auch nützlich sein).

Sondern darum das parent im neuen Tab eben ja nicht mehr zutrifft und anstelle von parent wird die gleichnamige Funktion im eigenen Dokument angesprochen, was auch erwünscht ist.

Dazu muss man aber nicht zwingend eine if machen um zu testen ob parent undefined ist, der browser (chrome) callt einfach die funktion im Dokument und ignoriert das parent.

Die Frage ist, ist das Absicht und machen das alle Browser so?
Wenn nicht müsste ich halt ne if-else einbauen so das wenn es als child geladen wird eben mit parent und als nicht child die Funktion ohne parent aufruft, als Fallback eben.

Als Beispiel, ich habe in einer Unterseite folgenden JS code:
Code:
parent.fromChild( childId() );

Öffne ich die Unterseite in meinem Fenstersystem, also als child wird wie gewünscht im parent die Funktion angesprochen, nehem ich die URL der unterseite öffne einen neuen Tab und füge die URL ein + Enter wird ebenfalls wie gewünscht die gleichnamige Funktion im Dokument ausgeführt ohne das ein Fehler erscheint wie "parent is undefined"...
 
Zuletzt bearbeitet:
Dazu muss man aber nicht zwingend eine if machen um zu testen ob parent undefined ist, der browser (chrome) callt einfach die funktion im Dokument und ignoriert das parent.
Nein. Wenn das window nicht in einem (i)Frame sitzt, gilt einfach parent === window.

Die Frage ist, ist das Absicht und machen das alle Browser so?
Ja, das steht so in den Specs: https://html.spec.whatwg.org/multipage/browsers.html#dom-parent
 
Zurück
Oben