Kurz gesagt: für clientseitige Leistung.
Da GMail viel Javascript (ca. 700 KB) hat, dauert es einige Zeit, alles herunterzuladen und auszuführen. Wenn Sie einen separaten Iframe verwenden, wird durch das Herunterladen und Ausführen von JavaScript die Benutzeroberfläche des Browsers nicht blockiert. Skripte und UI-Ereignisse in separaten Iframes werden von den gängigen Browsern parallel ausgeführt. Dieser Ansatz ermöglicht es Ihnen auch, ein vollständiges DOM für die Schnittstelle in dem anderen iframe zu erstellen, während die Skripts noch ausgeführt werden. This article describes gemeinsame Lösungen für die Blockierung-Skripts Problem.
Ein weiterer Iframe ist erforderlich, damit der Browserverlauf funktioniert. Wie es genau funktioniert, können Sie in der Google Closure-Bibliothek in der implementation sehen.
Für die Auswirkungen auf die Komplexität, die sicherstellen, dass das richtige DOM manipuliert wird: Die Konstruktoren der UI-Komponenten in GMail (ebenfalls Teil der Closure Library) nehmen alle ein optionales DOM-Helferargument.Dieser Helfer ist an ein bestimmtes DOM gebunden, das sich in einem anderen Rahmen befinden kann. Das Manipulieren verschiedener DOMs ist vollständig in das Design dieser UI-Komponenten integriert.
Ich denke "s/Wie/Was" – glasnt
@TomatoSandwich: Es gibt keine "Wie" s in der Frage. Nichts wird ersetzt werden! (Edit: Mein Fehler! Die Frage wurde bearbeitet. Also sage ich dir lieber, dass du Änderungen mit einem vi oder ähnlichen Befehl vorgenommen hast!). –