2009-03-16 3 views
6

Ich habe zwei iframes und jeder iframe zeigen zwei verschiedene html-seiten. Beide HTML-Seiten verweisen auf eine gewöhnliche Javascript-Datei, die eine globale Variable enthält. Wenn ich den Wert dieser globalen Variable während des Ladens der HTML-Seite in einem Frame festlege. Wird der Wert mit derselben globalen Variablen auf eine andere Iframe-HTML-Seite zugreifen können? warum oder warum nicht?HTML iframes und javascript

Antwort

11

Nein. Die oberste Ebene des Scope-Bereichs von JavaScript ist die Seitenebene. Sie können jedoch auf den Bereich einer anderen Seite zugreifen, indem Sie window.parent

+1

@Deepak zögern Sie nicht, klicken Sie auf "Überprüfen", um die Antwort zu akzeptieren, wenn es Ihr Problem löst oder Ihre Frage beantwortet. –

+1

Ach, er kann deine Antwort nicht annehmen, bis er einen Ruf von 10 hat. Was er jetzt tut, seit ich seine Frage nach oben gestellt habe. – Benry

+0

Vielleicht ist das nicht mehr wahr. War einmal. – Benry

0

verwenden. Tatsächlich bemerke ich, dass es den Umfang nicht zu behalten scheint, und vielleicht kann jemand Licht darüber aufklären.

Beispiel 1: Sie haben eine HTML-Seite mit Flash-Inhalten, die einige Funktionen zum Abrufen des SWF-Objekts und zum Ausführen eines Befehls enthält. Wenn diese Seite in einen IFRAME geladen wird, ist "getSWFObj" "keine Funktion".

Beispiel 2: Ich lade eine HTML-Seite, die eine Reihe von objektbasierten JavaScript-Dateien enthält. Ich erstelle eine Instanz namens "player" und erstelle einige Unterobjekte wie "navigation". Wenn ich "player.navigation" anrufe, erhalte ich eine Fehlermeldung, dass sie nicht existiert, wenn sie in einen IFRAME geladen wird.