2010-12-15 22 views
7

No hay ningún problema con la eliminación del borde del marco flotante en cualquier navegador Internet Explorer 7, excepto ...
Mi pregunta es: ¿Cómo eliminar/iframe frontera de ocultación cuando se abre la página utilizando Internet Explorer 7?¿Cómo eliminar el borde iframe en IE7?

Respuesta

15

frameborder='0' border='0' style="border:0;" no lo hace?

+0

Esto funciona perfectamente – jsims281

+0

Ty, funcionó perfecto! –

+2

Tuve que capitalizar B en frameborder para que funcione, por lo que tendría que: frameBorder = "0" – Sean

1

Pruebe esto. Encontrará todos los elementos del iframe y eliminará sus bordes en IE y otros navegadores (aunque puede simplemente establecer un estilo de "border: none;" en navegadores que no sean IE, en lugar de usar JavaScript). Y funcionará incluso si se utiliza DESPUÉS de que el iframe se haya generado y esté en su lugar en el documento (por ejemplo, iframes que se agregan en HTML simple y no en JavaScript).

Esto parece funcionar porque IE crea el borde, no en el elemento iframe como es de esperar, sino en el CONTENIDO del iframe, después de que se crea el iframe en la lista de materiales. ($ @ & * # @ !!! IE !!!)

Nota: La parte IE solo funcionará (por supuesto) si la ventana padre y el iframe son del MISMO origen (mismo dominio, puerto, protocolo, etc. .). De lo contrario, el script obtendrá errores de "acceso denegado" en la consola de errores de IE. Si eso sucede, su única opción es configurarlo antes de que se genere, como otros han notado, o usar el atributo frameBorder no estándar = "0". (O simplemente dejar que IE mirar fugly - mi opción favorita actual;))

me llevó muchas horas de trabajo al punto de la desesperación de resolver esto ...

disfrutar. :)

// ========================================================================= 
// Remove borders on iFrames 

if (window.document.getElementsByTagName("iframe")) 
    { 
     var iFrameElements = window.document.getElementsByTagName("iframe"); 
     for (var i = 0; i < iFrameElements.length; i++) 
     { 
      iFrameElements[i].frameBorder="0"; // For other browsers. 
      iFrameElements[i].setAttribute("frameBorder", "0"); // For other browsers (just a backup for the above). 
      iFrameElements[i].contentWindow.document.body.style.border="none"; // For IE. 
     } 
    } 
Cuestiones relacionadas