In der Entwicklung von Web-Front-End-Entwicklung verwenden wir häufig die Iframe-Steuerung.
Bei der Kontrolle interner und externer Wechselwirkungen sind die von jedem Browser verwendeten Schlüsselwörter jedoch häufig unterschiedlich, was sehr problematisch ist. Um das Fensterobjekt im Unterfrist zu erhalten, hat jeder Browser seine eigenen Spezifikationen, einige sind Windows, einige sind Inhaltswindows und so weiter, und vielleicht gibt es einige, die wir nicht kennen.
Greifen Sie jedoch einfach auf die Seite der übergeordneten Ebene von der untergeordneten Seite zu, und in der ursprünglichen Form ist jeder Fenster. Parent.
Anschließend können wir durch diese Funktion unser eigenes Fensterobjekt an die übergeordnete Seite auf der Kinderseite übergeben, damit die übergeordnete Seite problemlos auf die untergeordnete Seite zugreifen kann, und wir müssen uns keine Sorgen mehr machen, wie das Fensterobjekt vom IFrame -Objekt abgerufen werden kann.
Schauen wir uns zuerst den Code an:
Übergeordnete Seitencode:
window.IframeWindow = null; Funktion frameready (subwindow) {window.IframeWindow = subwindow; //Abtretung}; <iframe src = "xx"> </iframe>Unterseite Code:
$ (function () {window.parent.frameready (window);});Über den obigen einfachen Code können Sie auf der übergeordneten Seite auf das IFrameWindow -Objekt zugreifen und direkt das Fensterobjekt der untergeordneten Seite erhalten, das sehr hirnlos und sehr nützlich ist.
Was ist, wenn ich mehrere IFrames habe?
Diese Situation wird etwas komplizierter sein, aber es spielt keine Rolle. Wir möchten die oben genannte Lösung fortsetzen. Analysieren wir also die aktuelle Situation:
1. Wir sollten ein Sammlungsobjekt benötigen, das iFrameWindows ähnlich ist, um Fensterobjekte für alle Unterseite zu verwalten.
2. Wenn jede untergeordnete Seite übergeordnet ist. Frameready, muss sie auf einen eindeutigen Namen für die übergeordnete Seite beruhen, damit wir auf der übergeordneten Seite genau auf jeden Iframe zugreifen können.
Dann ist es jetzt einfach. Was die Unterseite tun muss, ist nichts anderes als ein Name, eine Nummer usw. Schauen wir uns den Code an
window.subwindowname = "helloWorldWindow"; $ (function () {window.parent.frameready (window.subwindowname, window);});Dann muss die übergeordnete Seite refaktorfrei sein und einen Parameter hinzufügen
window.IframeWindows = {}; // Dies wird zu einer Objektfunktion.Zusammenfassen:
Mit diesem Schema erstellte Seiten haben die folgenden Vorteile:
1. Die Interaktion von übergeordneten Seiten hängt nur von den Schlüsselwörtern der Eltern ab (und im vorherigen Weg hängen nicht nur von übergeordneten, sondern auch von Inhaltswindow, Fenster und anderen unsicheren Schlüsselwörtern ab. Das Wichtigste ist, dass die Unterstützung der Eltern immer noch sehr gut ist).
2. Einheitliche Fensterobjekte, reduzieren die angeforderte Referenzkette jedes Mal, wenn sie verwendet werden, und verbessert die Betriebsgeschwindigkeit
3. Der wichtigste Punkt: Es ist, dass der Code viel einfacher zu schreiben ist.
Die oben genannte Lösung für JavaScript -Iframe -Interaktion und -kompatibilität mit verschiedenen Browsern, die vom Editor eingeführt wurden. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!