Skip to content
Home » Otro bug de Microsoft Internet Explorer

Otro bug de Microsoft Internet Explorer

Según explican en el artículo publicado en meyerweb.com, la utilización del atributo ‘id’ con el valor ‘tags’ en un tag de HTML, no está permitida en Microsoft Internet Explorer, porque presenta conflictos al imprimir la página, concretamente, reporta un error de Javascript.

Si queremos hacer la prueba, basta con crear una simple página html como está:

  <html>
  <body>
  <div id="tags">soy un div de nombre tags</div>
  </body>
  </html>

abrirla en Explorer y tratar de imprimirla. Veremos que nos devuelve un error de Javascript. Esto se debe a que ‘tags’ es una palabra clave reservada por este navegador, como así podemos ver de forma precisa al comprobar el punto en que se produce el error:

function PrintNow( fWithPrompt)
{
if ( !g_aDocTree["C"]
|| !g_aDocTree["C"]._aaRect[1][0]
|| !g_aDocTree["C"]._aaRect[1][0].contentDocument.body)
{
window.setTimeout("PrintNow('" + fWithPrompt + "');", 100);
return;
}
var oDoc = g_aDocTree["C"]._aaRect[1][0].contentDocument;
var fConfirmed;
var fFramesetDocument = (oDoc.body.tagName.toUpperCase() == "FRAMESET");

vvvvvvvvvv
var fActiveFrame = (oDoc.all.tags("HTML").item(0).__IE_ActiveFrame != null);
^^^^^^^^^^

Printer.framesetDocument = fFramesetDocument;
Printer.frameActiveEnabled = fActiveFrame;
if (g_fPreview)
{
Printer.frameActive = (g_nFramesetLayout == 1);
Printer.frameAsShown = (g_nFramesetLayout == 0);
Printer.currentPageAvail = true;
}
else
{
Printer.frameActive = fActiveFrame;
Printer.frameAsShown = false;
Printer.currentPageAvail = false;
}

Es exactamente en ‘oDoc.all.tags(“HTML”)’ donde falla.