2008-11-22 6 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> 

Debajo de todos los navegadores excepto IE, las 4 pruebas funcionan. En IE 6 y 7, el último falla y muestra un marco vacío. ¿Hay alguna solución alternativa que permita a IE cargar el html externo en un objeto?Incrustar texto/html en un objeto (en lugar de un iframe)

+0

Para IE8/9 también vea la pregunta http://stackoverflow.com/questions/8565409/embedding-text-html-in-an-object-in-ie8-9-instead-of-an-iframe-how – DavidJ

Respuesta

6

revisión lo siguiente para obtener más información acerca de cómo utilizar objetos con IE: http://aplus.rs/web-dev/insert-html-page-into-another-html-page/

Todo se reduce a una diferencia en lo que IE espera frente a otros navegadores. Para IE, debe usar el atributo classid en lugar del atributo type. Por ejemplo (desde el sitio mencionado anteriormente):

<!--[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]--> 

Tenga en cuenta que el classid es específica para el tipo de contenido que usted está tratando de servidor.

+0

El funciona bien en IE8 (¡al menos en mi computadora!). – RealHowTo

+0

@RealHowTo: Puede observar que tanto esta pregunta como su respuesta se publicaron antes de que IE8 estuviera disponible ... – NotMe

+2

La solución de Chris no funciona en IE si está tratando de extraer contenido de un servidor remoto –

Cuestiones relacionadas