16 Stimmen

Einschränkungen für Webseiten, wenn sie in einen IFrame eingeschlossen sind?

Ich entwickle eine Webseite, die unsere Kunden auf ihren Websites einfügen möchten, indem sie meine Seite in ein iframe ( bereichsübergreifend ). I nicht mit dem Elternteil interagieren oder irgendetwas darüber wissen müssen, was außerhalb der iframe .

Ich verwende HTML , CSS , Javascript y Webservices .

Frage: Wie bin ich innerhalb einer iframe im Vergleich dazu, wenn meine Seite außerhalb des iframe ?

18voto

Erik Reppen Punkte 4527

Sie sind es nicht. Jedes JS, das innerhalb des Iframe von Ihrer Domain aus verlinkt wird, wirkt im Kontext des Iframe. Abgesehen davon, dass es in einem ungewöhnlichen Container eingepfercht ist, sollte es genauso funktionieren, wie es funktionieren würde, wenn es unabhängig geladen würde.

Wenn sich Ihre Bedürfnisse jedoch ändern sollten, gibt es Möglichkeiten, Signale zwischen dem übergeordneten Frame und dem iframe zu senden, wenn beide Seiten JS für die Zusammenarbeit geschrieben haben. Es gibt Methoden, die das # in URLs verwenden, die vom Elternteil gelesen werden können und keine Seitenneuladungen erzwingen, und ich glaube, sie teilen sich das window.resize-Ereignis, das manuell ausgelöst werden kann, ohne die Größe des Fensters tatsächlich zu ändern.

UPDATE: Es gibt heute weitaus bessere Möglichkeiten zur Kommunikation zwischen domänenübergreifenden iframes, als es sie früher gab. Natürlich benötigen Sie immer noch kooperierende JS auf beiden Seiten, aber Sie können verwenden window.postMessage anstatt Nachrichten über window.resize und data nach einem Rautensymbol in der URL auszulösen. Das war allerdings ein cooler Trick.

3voto

TheHippo Punkte 58289

Bei der Erstellung von Links sollten Sie darauf achten, dass Sie eventuell die target -Attribut des a -Tag, wenn Sie einen Link für das übergeordnete Fenster erstellen möchten. Andernfalls würde die neue Seite in den Iframe geladen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X