Verwendung eines Iframe- oder Objekt-Tags zum Einbetten von Webseiten in ein anderes
In einem web-basierten system, das ich pflegen, bei der Arbeit, die vor kurzem live gegangen, es macht ein Object-element einbetten, eine zweite web-Seite innerhalb der Haupt-web-Seite. (Praktisch der Haupt-web-Seite enthält das Menü und der header und die main-anwendungsseiten in das Objekt)
Beispielsweise
<object id="contentarea" standby="loading data, please wait..."
title="loading data, please wait..." width="100%" height="53%"
type="text/html" data="MainPage.aspx"></object>
Ältere Versionen dieser Anwendung, verwenden Sie einen IFRAME zu tun, obwohl dies. Ich habe festgestellt, dass durch die Verwendung des object-Tags der eingebetteten web-Seite verhält sich anders, als es vorher war zu Gast in einem IFRAME. Im IE, zum Beispiel, die tool-Tipps nicht gesehen zu arbeiten (ich werde eine separate Frage dazu!), und es sieht aus wie die eingebettete Seite keinen Zugriff auf die übergeordnete Seite in script, obwohl es kann, wenn es war ein IFRAME.
Ich mir gesagt, der Grund für die Begünstigung der object-tag über das IFRAME ist, dass der IFRAME ist veraltet und kann daher nicht herangezogen werden, die für zukünftige Versionen von Browsern. Ist das wahr, obwohl? Ist es vorzuziehen, verwenden Sie die Object-tag über das Iframe zum einbetten von web-Seiten? Oder ist es wahrscheinlich, dass der IFRAME wird wohl in Zukunft unterstützt (lange nach, ich bin alt und Grau, und über die Lebensdauer der Anwendung, die ich beibehalten)?
InformationsquelleAutor der Frage Tim C | 2009-05-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den IFRAME-element ist Teil der kommende HTML5-standard. Auch, HTML5 entwickelt wird, die von den großen browser-Anbieter gibt (Mozilla, Opera, Safari, IE), dass im Grunde garantiert, dass wir ein IFRAME-element in die absehbare Zukunft. Einige von Ihnen haben die Unterstützung für einige HTML5-Elemente bereits, wie AUDIO und VIDEO und einige neue JavaScript-APIs.
Es ist auch wahr, dass das OBJECT-element ist in dem Entwurfaber das ist, weil der IFRAME-und OBJECT haben unterschiedliche Zwecke. IFRAMES sind hauptsächlich konzipiert für sandboxing für web-Anwendungen.
Also, mein Rat ist die Verwendung von IFRAME statt OBJECT.
InformationsquelleAutor der Antwort Ionuț G. Stan
IFRAMEs sind nicht Teil der XHTML 1.0 Strict DTD. Sie sind absolut gültig, die in HTML 4 und XHTML 1.0 Transitional, glaube ich. Aus diesen Gründen allein, IFRAME, werden weiterhin unterstützt, für eine lange Zeit.
Viele bookmarklets und der analytics-code noch verwenden IFRAMEs.
InformationsquelleAutor der Antwort kim3er
Wenn Sie einbetten einer HTML-Seite, hier ist eine deutliche Differenz zwischen
iframe
undobject
:iframe
Aktualisierungsrc
wird ändern Sie die browser-history (hinzufügen eines neuen Eintrags)object
Aktualisierungdata
wird sich nicht ändern, die browser-historyScheint es auch, wie drag&drop funktioniert nicht, wenn die Seite ist eingebettet in die
object
tag, arbeitet aber in deriframe
tag. Ich bemerkte es, persönlich mitreact-draggable
und ich kann sehen, jemand hatte das gleiche Problem (https://stackoverflow.com/questions/31807848/replacing-iframe-with-object-tag-drag-and-drop-not-working)InformationsquelleAutor der Antwort JBE
Obwohl die W3C-specs kann darauf hindeuten, dass der IFRAME-tag ist veraltet (in XHTML wenigstens, sowieso), browser-Entwickler nicht unbedingt genau befolgen, was die specs sagen (IE6, anyone?)
Als die Verwendung von IFRAMEs ist so weit verbreitet im moment, und das W3C kann nicht scheinen, zu entscheiden, ob Sie Teil der Zukunft sind oder nicht (HTML 4.01 vs. XHTML), ich bin mir ziemlich sicher, Sie sind die sicherere Implementierung zu verwenden, für fast jeden browser.
InformationsquelleAutor der Antwort DanSingerman