Comunidad de diseño web y desarrollo en internet online

Sobre DOM

Citar            
MensajeEscrito el 23 Sep 2006 06:27 pm
Pues eso.

En la web que estoy haciendo puse un reloj hecho en JS sacado de aquí y en las instrucciones ponía que tenía que poner en la etiqueta body el atributo onLoad="show_clock()", pero cuando lo validadba me decía que lo tenía que quitar, y al final es lo que he hecho.
Y

NEO_JP escribió:

Eso es porque debes usar DOM para eso, si quieres mas información sobre este tema, crea uno nuevo y te respondo alli.
Saludos.


De paso me aclaráis que es el DOM. Gracias.

Por ryuz

350 de clabLevel

2 tutoriales

 

firefox
Citar            
MensajeEscrito el 23 Sep 2006 07:28 pm
Bien, resumamos. DOM es el acrónimo de Document Object Model, y es la forma estándar de comunicar Javascript con HTML, logrando asi un Javascript no intrusivo.

Entonces lo normal es que escribas asi.

Código :

<body onload="show_clock();">


Usando DOM escribes esto en el javascript.

Código :

window.onload = function(){
    show_clock();
}


Ahora, existe una forma aún más fácil solo agregando este script a tu hoja.

Código :

function addLoadEvent(func) {
   var oldonload = window.onload;
   if (typeof window.onload != "function") {
      window.onload = func;
   } else {
      window.onload = function() {
         oldonload();
         func();
      }
   }
}


Entonces solo haces esto al final de tu script.

Código :

addLoadEvent(show_clock);



Fin, si necesitas ayuda aqui está cristalab.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 23 Sep 2006 07:41 pm
Perfecto! Muchas gracias.
Este foro es una mina :D

Por ryuz

350 de clabLevel

2 tutoriales

 

firefox
Citar            
MensajeEscrito el 26 Sep 2006 10:16 pm
Aclarar, que el motivo por el que da el error el validador no es el DOM.
Aplicar las tecnicas del DOM es un modo de corregirlo, el mejor si, pero ese no era el problema

si se tiene

Código :

<body onLoad="show_clock();">


Estaría mal porque en los estándares del w3c especifica que las etiquetas y sus propiedades diferencian entre mayúsculas y minúsculas. De manera que no es lo mismo la etiqueta BODY y body (la segunda es la correcta), ni es lo mismo onLoad y onload (la segunda es la correcta).
Y aunque si funciona igual, las primeras formas no son correctas.

simplemente con ese cambio ya valida

Código :

<body onload="show_clock();">


y tampoco esto sería correcto

Código :

window.onLoad = function(){

    show_clock();

}


Esto último funcionaría, y pasaría por el validador, pero no quiere decir que sea correcto, son limitaciones de este tipo de servicios

Por vites

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Sep 2006 12:01 pm

vites escribió:

Esto último funcionaría, y pasaría por el validador, pero no quiere decir que sea correcto, son limitaciones de este tipo de servicios


No es por el servicio, la W3C especifica que todas las etiquetas, atributos y valores se escriben en XHTML en minúsculas, así que es por las reglas, y el servicio se apega a las reglas U_U

Por Ramm

BOFH

3152 de clabLevel

6 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell REC Héroes

London, UK

firefox
Citar            
MensajeEscrito el 27 Sep 2006 12:51 pm

Ramm escribió:

vites escribió:

Esto último funcionaría, y pasaría por el validador, pero no quiere decir que sea correcto, son limitaciones de este tipo de servicios


No es por el servicio, la W3C especifica que todas las etiquetas, atributos y valores se escriben en XHTML en minúsculas, así que es por las reglas, y el servicio se apega a las reglas U_U


Humm... hasta donde yo se, que no es mucho, el W3C creo que dice en las especificaciones del XML que las etiquetas diferencian entre mayúsculas y minúsculas, y que sus propiedades siempre deben estar en minúsculas y entre comillas dobles. Y partiendo de esta regla hacia el XHTML, en la dtd de este se encuentran definidas las etiquetas en minúsculas. Por eso en XHTML atributos y etiquetas son en minúsculas.

y hasta donde yo se, el validador del W3C no valida el contenido JavaScript, por eso si aquí dentro introduces alguna propiedad del DOM mal escrita, el validador no la encontrara, aunque seguirá estando mal. Por eso hablo de las limitaciones del validador


PD: Perdón si me había expresado mal

Por vites

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Sep 2006 03:23 pm
Estoy curioso. ¿Cómo activarias una función al cargar la página?

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 02 Oct 2006 09:40 am
¿Cómo activarias una función al cargar la página?


Yo lo activo así

Código :

window.onload = function(){
  funcion();
}


No he dicho que tu código esté mal.
He trarado de explicar el porque de que onLoad="show_clock()" de error y onload="show_clock()" no lo aría.

Por vites

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Oct 2006 02:25 pm
Ok, es lo mismo.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.