2010-11-22 6 views
2

Ich habe einen iframe, lädt ein Formular von einer anderen Website in meine Website (ich kontrolliere beide Domänen, aber sie sind unterschiedlich).Arbeiten mit Javascript und Cross-Domain-iframes

Der Iframe wird in eine Fancybox auf meiner Site geladen und ich möchte, dass er eine AJAX-Ladegrafik öffnet, wenn das Formular im Iframe bearbeitet wird.

Ich weiß, dass ich Event-Listener nicht direkt der iframe-Form anderer Website hinzufügen kann, aber gibt es irgendeine Weise, dass meine Site wissen kann, was im iframe vor sich geht?

Antwort

1

Nein, es gibt keine Möglichkeit zu wissen, was ein anderer iFrame tut.

Lassen Sie die Domäne (die innerhalb des Iframe) die AJAX-Ladegrafik laden, bevor der Inhalt angezeigt wird, alles auf der Serverseite ... Sie benötigen den Client dafür nicht.

1

Ich stimme Luca zu, aber dann muss das Formular geladen werden, bevor die AJAX Ladegrafik angezeigt werden kann. Wenn es eine sehr große Form ist, kann dies eine Weile dauern und wird vielleicht den Zweck der Ladegrafik vereiteln.

Haben Sie darüber nachgedacht, den Inhalt des Formulars stattdessen über Javascript zu laden und dabei den iframe vollständig zu umgehen? Erhalten Sie einfach den Inhalt des Formulars und laden Sie es in ein div? (Zugegeben, wenn das Formular, das Sie laden, komplex ist, könnte das mehr Probleme verursachen)

0

Es ist absolut verboten von Browsern zu wissen, was im Iframe vor sich geht.