Recientemente, un colega usó el control de menú de asp.net 2.0, que es uno de los controles de navegación de asp.net 2.0. Recientemente, descubrí un problema y coloqué este control en la página maestra. Luego
encontré
una página maestra.que cuando se carga la página No termina Cuando haces clic en el menú rápidamente, se informará un error específico de IE Jaja.
Después de buscar en Google, hay muchos errores como este. Algunas personas también encontraron errores similares al usar el menú de asp.net.
http://forums.asp.net/thread/1158791.aspx
http://forums.asp.net/thread/1159962.aspx
Se pueden explorar programas similares con Firefox, pero no hay problema. Este problema con IE es en realidad un problema. Error muy común, generalmente ocurre cuando el documento no se ha cargado y un script modifica dinámicamente el estado del documento.
Para el menú de asp.net, miré el código que genera automáticamente. Asp.net generará dinámicamente varios archivos axd. De hecho, es un archivo js. Contiene un código similar
if (!childFrame) {.
childFrame = document.createElement("iframe");
childFrame.id = childFrameId;
childFrame.src = (data.iframeUrl? data.iframeUrl: "acerca de: en blanco");
childFrame.style.position = "absoluto";
childFrame.style.display = "ninguno";
childFrame.scrolling = "no";
childFrame.frameBorder = "0";
if (parent.tagName.toLowerCase() == "html") {
documento.body.appendChild(childFrame);
}
demás {
padre.appendChild(childFrame);
}
}
Jaja, de hecho hay un código appendchild dinámico. De hecho, este método no es riguroso. Los códigos escritos por MS a veces ignoran algunos problemas.
¿
Qué pasa si el documento aún no se ha cargado y se activa appendchild?
será la ocasión para la concurrencia. Es similar a la sincronización de subprocesos. Es por eso que IE informará un error en la modificación del estado del documento. ¿
Cómo modificarlo a continuación?
1. Puedes poner el menú en un div, primero configura la visibilidad como oculta.
2. Una vez cargado el documento, establezca la visibilidad en visible
document.onreadystatechange=ShowMenu;
función MostrarMenú()
{
if(document.readyState=="completo")
{
document.getElementById("DivOfMenu").style.visibility="visible"
}
}
Eso es todo.
http://www.cnblogs.com/montaque/archive/2006/09/18/507639.html