Markus Klauke: Javascript-Funktion aus anderem Fenster aufrufen

Hallo,

ich öffne eine neues Fenster und möchte gerne aus diesem heraus im 1. Frame des parent-Fensters eine Javascript-Funktion aufrufen, die dort ein Bildchen austauschen soll. Lokal aufgerufen wird das Bildchen ausgetauscht, wie aber (oder kann ich überhaupt?) kann ich die Funktion aus einem (dem) anderen Fenster heraus aufrufen?

Danke für Eure Hilfe :-))

Markus

  1. Hallo Markus,

    ich öffne eine neues Fenster und möchte gerne aus diesem heraus im 1. Frame des parent-Fensters eine Javascript-Funktion aufrufen, die dort ein Bildchen austauschen soll. Lokal aufgerufen wird das Bildchen ausgetauscht, wie aber (oder kann ich überhaupt?) kann ich die Funktion aus einem (dem) anderen Fenster heraus aufrufen?

    parent.FrameName.Funktionsname();

    Wie weit das mit allen Browsern funktioniert, kann ich Dir allerdings nicht sagen.

    Viele Gruesse
      Stefan Muenz

    1. Hallo Markus,

      ich öffne eine neues Fenster und möchte gerne aus diesem heraus im 1. Frame des parent-Fensters eine Javascript-Funktion aufrufen, die dort ein Bildchen austauschen soll. Lokal aufgerufen wird das Bildchen ausgetauscht, wie aber (oder kann ich überhaupt?) kann ich die Funktion aus einem (dem) anderen Fenster heraus aufrufen?

      parent.FrameName.Funktionsname();

      Wie weit das mit allen Browsern funktioniert, kann ich Dir allerdings nicht sagen.

      Viele Gruesse
        Stefan Muenz

      Ich möchte nur noch mal ergänzend dazu erwähnen das man vorher auf jedenfall überprüfen sollte ob die function (schon) exsistiert. ich habe damit nämlich schon reichlich ärger gehabt. insbesondere wenn offline alles funktoniert und man dann das ganze online laufen läßt. ach ja, das ganze funtioniert meines wissens bis zum IE3 und NS3 runter. wie das mit anderen browsern ausschaut weiß ich auch nicht.

      bis dann Timo

  2. ich öffne eine neues Fenster und möchte gerne aus diesem heraus im 1. Frame des parent-Fensters eine Javascript-Funktion aufrufen, die dort ein Bildchen austauschen soll. Lokal aufgerufen wird das Bildchen ausgetauscht, wie aber (oder kann ich überhaupt?) kann ich die Funktion aus einem (dem) anderen Fenster heraus aufrufen?

    Ich nehme an, Du meinst mit parent-Fenster das, welches das neue Fenster geoeffnet hat, sieht mir nach Deiner Erklaerung einfach so aus, obwohl "parent" eigentlich was anderes meint.
    Stimmt's?

    Funktionen kann man so ziemlich "kreuz und quer" aufrufen.
    Der Fall, den ich verstanden habe:

    • Hauptfenster enthaelt Frame1 und Frame2
    • Frame2 oeffnet neues Fenster:
            neues_Fenster = window.open();
    • In Frame1 gibt es eine Funktion, die ausgefuehrt werden soll:
            function Bildchen_wechsel_dich() {...}
    • Aufruf aus neues_Fenster:
            self.opener.parent.Frame1.Bildchen_wechsel_dich()
    • kleiner Einschraenkung.
            Vor.: Browser kennt window.opener, muss also JavaScript1.1 beherrschen.

    Christine

    PS: Zum Referenzieren so ueber Fenster und Frames hinweg steht einiges in der FAQ von de.comp.lang.javascript: http://www.mintert.com/javascript/de.comp.lang.javascript.html. Vielleicht ganz hilfreich.
    Nur bitte bis morgen gedulden :-(   Stefan Mintert teilte naemlich mit:
       "Wir haben hier am Fachbereich am Wochenende eine Rechnerabschaltung.
       Deshalb wird die FAQ ab 13.3., ca 18 Uhr bis 16.3., ca 8 Uhr nicht erreichbar sein."