Foros del Web » Programando para Internet » Javascript »

incompatibilidades....

Estas en el tema de incompatibilidades.... en el foro de Javascript en Foros del Web. Hola! Alguien podría decirme porque demonios este calendario se ve bien en Chrome, Opera y Firefox pero no sale nada en iExplorer y Safari?? @import ...
  #1 (permalink)  
Antiguo 28/01/2010, 16:35
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Exclamación incompatibilidades....

Hola! Alguien podría decirme porque demonios este calendario se ve bien en Chrome, Opera y Firefox pero no sale nada en iExplorer y Safari??


Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Calendario</title>
  5. <script language="javascript" type="text/javascript">
  6.  
  7.     document.write("<table border=1>");    
  8.     document.write("<tr>");    
  9.        
  10.     //variables auxiliares
  11.     var x;
  12.     var n;
  13.     var aux;
  14.        
  15.     //recoje la fecha completa
  16.     var fecha = new Date(2010 +","+ 1 +","+"1");
  17.     //recoje el día de la semana -> 0 domingo, 1 lunes, 2 martes, 3 miercoles, 4 jueves, 5 viernes, 6 sabado
  18.     var dia = fecha.getDay();
  19.     //si el dia de la semana es 0 (domingo yanki) pasalo a 7
  20.     if (dia == 0) dia = 7;
  21.            
  22.     for (x = 1, n = 1; x <= 31; x++, n++)
  23.         {
  24.             //si el día de la semana coincide con el marcador, escribir el día 1, sino escribir celda en blanco
  25.             if (dia == n){
  26.                 x=1;
  27.                 //pintar de otro color el dsabado y domingo
  28.                 if (n%7==0 || (n+1)%7 == 0){    document.write("<td bgcolor='blue'>" + x + "</td>");}
  29.                 else document.write("<td>" + x + "</td>");
  30.                 var aux = "ok";
  31.             }
  32.             else{ //cuando el día 1 haya sido escrito se dejan de dibujas celdas en blanco y se escriben los días correlativamente
  33.                 if (aux == "ok"){
  34.                     //pintar de otro color el dsabado y domingo
  35.                     if (n%7==0 || (n+1)%7 == 0){    document.write("<td bgcolor='blue'>" + x + "</td>") ;}
  36.                     else document.write("<td>" + x + "</td>");
  37.                 }
  38.                 else{
  39.                     document.write("<td></td>");
  40.                 }      
  41.             }              
  42.             //cuando escriba el domingo que empiece una nueva fila
  43.             if (n%7==0 )document.write("</tr><tr>");           
  44.         }              
  45.         document.write("</table>");  
  46.  
  47.  
  48. </head>
  49.  
  50.  
  51. </body>
  52. </html>
  #2 (permalink)  
Antiguo 28/01/2010, 17:35
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: incompatibilidades....

el problema esta en la linea #17. Date recibe una serie de argumentos, para los que te interesan son: año, mes, y dia. en tu caso le estas pasando un solo argumento en forma de string. o sea, estas haciendo lo mismo que new Date("2009,1,1"), fijate que en realidad hay un solo argumento. tienes que pasar los valores de acuerdo a lo que te pide cada argumento de Date: new Date(2009, 1, 1). difiere mucho este codigo del anterior. en este ultimo estas pasando tres argumentos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 29/01/2010, 04:54
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: incompatibilidades....

muchas gracias!

Etiquetas: incompatibilidades
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:13.