Recientemente, he estado haciendo papeles y fui muy hábil. Diseñé la web nuevamente y encontré un problema. En el pasado, cuando diseñé páginas web, corrí en IE, y nunca consideré Firefox, y mucho menos a Chrome, pero ahora es diferente. Al menos creo que las páginas web que no son compatibles con Firefox son extremadamente feas y falsificadas, por lo que a partir de este concepto, comencé a prestar atención a esta compatibilidad al diseñar la página. Esta vez encontré un problema de compatibilidad. Hay un marco flotante en el HTML, <frame>, que se puede incrustar en la página, que es muy adecuado para hacer la página de cuadro, como se muestra en la figura a continuación.
Una página HTML se divide en dos piezas, con la barra de navegación a la izquierda y el contenido se mostrará a la derecha. El código es el siguiente:
El código en la columna izquierda es:
<Iframe frameBorder = 0 id = frmtitleleft name = frameleft src = left.html estilo = altura: 100%; Ancho: 180px;>
Conectarse a la izquierda.html
La columna derecha es similar. Para la página que hice, el efecto de vista previa es el siguiente:
¿Qué efecto debe lograrse ahora para lograr un efecto más práctico? Al hacer clic en cualquier enlace, se puede mostrar en la columna derecha. Es obvio que debe implementarse a través de JS. No diré mucho sobre el método incompatible original. Recuerde los siguientes pasos de implementación:
1. Primero obtenga el objeto iframe en la columna derecha
var frames = document.getElementById (frameId); // frameID es el nombre de identificación del iframe en la columna derecha
2. Restablecer su valor SRC
frames.src = pageurl; // Pageurl es la página de destino que se mostrará
Esto permite un salto de página
Pero hay otro punto, si quieres llamar a las funciones, no es tan simple
Por ejemplo, hay una función correcta () en la columna derecha. Quiero llamar a la función derecha () en el enlace en la columna izquierda. Cómo implementarlo
1. En primer lugar, el marco izquierdo está incrustado en la página del contenedor index.html, por lo que debe volver primero al nivel de índice y obtener el objeto RightFrame
Var Frames = Window.Parent.Window.Document.GetElementById (FrameId);
2. Para poder ejecutar funciones en su página, debe obtener el objeto de la ventana. Aquí hay un objeto importante, ContentWindow. Obtenga este objeto, y luego puede ejecutar las funciones en él, como
frames.contentwindow.right ();
El código anterior es compatible con IE6, Firefox3 y Chrome 2.0. Todos pasaron con éxito la prueba. IE7 no lo ha intentado, pero no debería ser un problema.