2008-11-22 4 views
7
<iframe data="/localfile.html" type="text/html" width="200" height="200"></iframe> 
<iframe data="http://example.com/remotefile.html" type="text/html" width="200" height="200"></iframe> 
<object data="/localfile.html" type="text/html" width="200" height="200"></object> 
<object data="http://example.com/remotefile.html" type="text/html" width="200" height="200"></object> 

Unter allen Browsern außer IE, funktionieren alle 4 dieser Tests. Unter IE 6 und 7 schlägt der letzte fehl und zeigt einen leeren Rahmen. Gibt es eine Problemumgehung, die IE ermöglicht, das externe HTML in einem Objekt zu laden?Einbetten von Text/HTML in ein Objekt (anstelle eines iFrame)

+0

Für IE8/9 siehe auch Frage http://stackoverflow.com/questions/8565409/embding-text-html-in-an-object-in-ie-8-9-instead-of-a-iframe-how – DavidJ

Antwort

6

überprüfen Sie die folgende für weitere Informationen darüber, wie Object mit IE zu verwenden: http://aplus.rs/web-dev/insert-html-page-into-another-html-page/

Es läuft darauf hinaus, einen Unterschied nach unten in dem, was IE im Vergleich zu anderen Browsern erwartet. Für IE müssen Sie das Attribut classid anstelle des Attributs type verwenden. Zum Beispiel (aus der oben genannten Website):

<!--[if IE]> 
<object classid="clsid:25336920-03F9-11CF-8FD0-00AA00686F13" data="some.html"> 
    <p>backup content</p> 
</object> 
<![endif]--> 

<!--[if !IE]> <--> 
<object type="text/html" data="some.html"> 
    <p>backup content</p> 
</object> 
<!--> <![endif]--> 

Beachten Sie, dass der classid ist spezifisch für den Inhaltstyp, den Sie Server versuchen.

+0

Der funktioniert einwandfrei in IE8 (zumindest auf meinem Computer!). – RealHowTo

+0

@RealHowTo: Sie könnten feststellen, dass sowohl diese Frage als auch die Antwort veröffentlicht wurden, bevor IE8 überhaupt verfügbar war. – NotMe

+2

Chris 'Lösung funktioniert nicht im IE, wenn Sie Inhalte von einem Remote-Server abrufen möchten –