2012-09-17 22 views
10

Tengo un iframe en una página que se ejecuta en modo peculiar (no tengo control sobre la página que contiene) y necesito que mi página se presente en un modo que es compatible con las características modernas del navegador.iframe que no se renderiza en modo ie9 cuando contiene una página en el modo peculiar

La página contenida hace un uso intensivo de las nuevas funciones de JavaScript (especialmente las agradables funciones de matriz) y la representación de SVG. Si bien puedo calzar las funciones de la matriz con la suficiente facilidad, no puedo forzar la svg para renderizar.

Para ser claros, la página interna NO se está ejecutando en modo peculiar - He especificado un tipo de documento y la etiqueta ie = edge < meta>. Parece que se trata de utilizar el modo de representación IE8 (difícil estar seguro)

Una muestra de la cuestión está aquí: http://stevesspace.com/quirks/quirks.html - cargarla en cromo para ver el resultado esperado, y comprobar que en IE9 o 10 para la salida real

EDITAR: He agregado el modo de documento y el modo de compatibilidad a la muestra, puedo confirmar que está usando el modo de documento IE8.

+0

posible duplicado de [Will un iframe render en modo peculiar?] (http://stackoverflow.com/questions/3717932/will-an-iframe-render-in-quirks-mode) – GolezTrol

+0

Aparentemente, el tipo de documento se hereda desde IE9. Y tu prueba es correcta: la página se vuelve roja dentro del IFrame, pero no cuando la abres fuera del IFrame (IE) o en absoluto en Chrome. Ahora cómo resolverlo ... No sé. : -/Buena pregunta con buena evidencia, sin embargo. – GolezTrol

+0

Aquí hay un consejo sobre cómo solucionar al menos cualquier problema de CSS debido a este problema. Sin embargo, no arregla el modo peculiar. http://css-tricks.com/ie-iframe-quirksmode/ – GolezTrol

Respuesta

7

Terminé usando una etiqueta de objeto en lugar de un iframe, parece funcionar bien en los navegadores modernos.

<object type="text/html" data="http://example.com"></object> 

Resulta que no se puede modificar la dirección URL utilizando JavaScript en IE9, pero eso no es un gran problema - la eliminación/adición de un nuevo elemento de objeto funciona igual de bien para esto.

Actualización: Esta etiqueta también puede estar en una página intermedia que los puntos iframe a y todo funciona bien Actualización 2: Esta solución no funciona en IE10

+1

Esto no es cierto, esto NO funciona en IE9. –

+0

¿Se puede expandir? Funciona bien para mí – XwipeoutX

+0

En IE10, ¿qué ocurre con la solución ? La solución iframe en IE10 parece representar al padre como Quirks y al interno como el modo estándar IE10, que es lo que usted quería, creo. –

Cuestiones relacionadas