Ahora que entiendo how to access tanto el HTML puro + Javascript (como se recibe a través de HTTP GET) y el resultado renderizado de procesamiento automático del Javascript al finalizar carga de la página, que necesitan entender cómo se está haciendo:¿Cómo un navegador convierte AUTOMÁTICAMENTE el "Origen de página" Javascript a HTML?
- ¿hay una función específica Javascript , incrustado en el HTTP GET resonse crudo, que el navegador busca de , y cuando lo encuentra, simplemente llama ella? (En otras palabras, ¿es la responsabilidad del programador página Web dar instrucciones al navegador para escanear el contenido crudo y sustituto de todos los no-interactiva Javascript a HTML?)
- ¿El navegador analizar toda la página , en busca de ciertas pistas, y decide qué convertir? Si es así, ¿Cuáles son estas señales y cómo se está haciendo ?
Siendo totalmente fresco en este tema, es muy posible que nada de lo anterior se aplique y el truco se realiza de manera completamente diferente. Si este es realmente el caso, ¿serías tan amable de guiarme en cómo volver a formular la pregunta?
Gracias por la gran respuesta. Podría aclarar lo siguiente para mí?Entiendo las partes interactivas de HTML/Javascript/DOM, es decir, onClick, onMouseOver, etc. - El navegador simplemente las deja intactas al producir el HTML "renderizado". Pero, ¿cómo sabe qué * no * dejar intacto y más bien ejecutar esto una vez completa la página? ¿Qué significa "cada vez que se siente"? ¿No hay un estándar a seguir? Es una categoría de funciones de Javascript que está destinada a la auto-ejecución? – PeSmith
@PeSmith: lo siento por secuestrar, y no estoy seguro si estoy respondiendo tu punto, pero todo el JavaScript es "auto-ejecutado": cuando el navegador encuentra una etiqueta '
El navegador analiza el código HTML y, al encontrar el código JavaScript incluido en las etiquetas
<script>
, evalúa el JavaScript encontrado que puede dar lugar a cambios en la estructura y/o el contenido del documento que se vuelven visibles para el usuario.Fuente
2011-03-14 22:34:42
No hay muchos. Ver http://dev.opera.com/articles/view/creating-and-modifying-html/
(En realidad, probablemente debería comenzar en http://dev.opera.com/articles/view/1-introduction-to-the-web-standards-cur/#toc)
<script>
DOM
Fuente
2011-03-14 22:35:35 Quentin
HTML obtiene secuencialmente cargado. Cuando se descubre una etiqueta de script, el navegador ejecuta la secuencia de comandos. Por ejemplo:
Sin embargo, si usted tiene el siguiente documento
no pasaría nada, porque en el momento en que el navegador ejecuta la secuencia de comandos, el navegador no se ha descubierto el div prueba todavía.
Fuente
2011-03-14 22:35:37 Bart
I red your last thread. Déjame que te diga esto, Un navegador tiene una versión HTML de la página y una versión DOM (Document Object Model) de la misma. Cuando un Javascript cambia algo, se cambia en el DOM. Al principio DOM se genera a partir de la página HTML,
Por lo tanto, Javascript no cambia el origen de la página.
su pregunta aquí es totalmente irrelevante, ya que el navegador hace esta operación de carga de una página: solicitud
El navegador comienza a ejecutar todos los javascript de arriba a abajo de los datos recibidos. También puede asignar la función Javascript a los eventos de los elementos en la página, de modo que cuando se desencadena el evento, se llame automáticamente a la función javascript especificada.
Analizar HTML y ejecutar su javascript no tiene nada que ver con el protocolo HTTP y se puede hacer únicamente en su propia computadora (abrir un archivo HTML en su disco).
Fuente
2011-03-14 22:37:39 AbiusX
Este no es realmente mi campo, pero creo que * JavaScript se ejecuta durante la etapa de análisis de HTML: el análisis de HTML hace una pausa mientras se ejecuta el script. Esto se debe a que JavaScript incluye 'document.write', que escribe contenido HTML en el DOM. Por otra parte, no sé si los navegadores * literalmente * dejan de analizar el HTML, o si su descripción está más cerca de lo que realmente hacen. –
@Paul - Tengo entendido que los analizadores tradicionalmente han dejado de analizar literalmente, porque puedes hacer cosas como 'document.write (' Alohci
Cuando un navegador web analiza una página HTML, si encuentra un elemento
<script>
, deja de analizar el HTML y ejecuta el elemento JavaScript en (o vinculado por) el elemento<script>
inmediatamente *.El código JavaScript puede modificar el DOM de la página (Document Object Model, la representación programática del HTML al que JavaScript puede acceder), y así cambiar el HTML representado que muestra el navegador. (También puede asignar funciones a controladores de eventos incorporados en nodos DOM, para que se pueda ejecutar JavaScript, por ejemplo, cuando el usuario hace clic en un enlace o cuando el documento ha terminado de cargarse).
De hecho, es totalmente la responsabilidad del programador de la página web para hacer esto. Los navegadores no adivinan qué hacer con el JavaScript descargado. Ellos corren y lo obedecen.
(* Eso es un poco de una simplificación: el atributo
defer
puede evitar que la secuencia de comandos que se ejecuten inmediatamente.)Fuente
2011-03-14 22:40:32
Difícilmente importa en este nivel, pero es un poco más preciso decir que la secuencia de comandos se ejecuta cuando el analizador encuentra la etiqueta ''. Esto tiene sentido si piensas en la forma en que funciona document.write inyectando caracteres en la secuencia de entrada del analizador. – Alohci
@Alohci: ah, sí veo tu punto. Pondré "'
Cuestiones relacionadas