Foros del Web » Programando para Internet » Javascript »

error javascript: El objeto no acepta esta propiedad o metodo

Estas en el tema de error javascript: El objeto no acepta esta propiedad o metodo en el foro de Javascript en Foros del Web. Buenas compañeros, estoy teniendo un problema al visualizar una página con IE, en firefos y chrome funciona correctamente pero no encuentro cual es el fallo. ...
  #1 (permalink)  
Antiguo 23/11/2010, 05:47
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 10 meses
Puntos: 6
error javascript: El objeto no acepta esta propiedad o metodo

Buenas compañeros, estoy teniendo un problema al visualizar una página con IE, en firefos y chrome funciona correctamente pero no encuentro cual es el fallo. La página en cuestion es una página de wordpress que con la función include llama a un archivo que tan solo contiene capas puro html, esa página consiste en mostrar un mapa y al pasar el ratón por encima muestra una zona marcada en el mapa superponiendo capas etc, uso varios .js pero algo está fallando y al pasar el ratón por encima me da el siguiente error:

Código Javascript:
Ver original
  1. Detalles de error de página web
  2.  
  3. Agente de usuario: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
  4. Fecha: Tue, 23 Nov 2010 11:41:10 UTC
  5.  
  6.  
  7. Mensaje: El objeto no acepta esta propiedad o método
  8. Línea: 1884
  9. Carácter: 9
  10. Código: 0
  11. URI: http://localhost/primera/

El código de la página en wordpress es este:

Código HTML:
Ver original
  1. <style type='text/css' >
  2. #maincontent .post h2 { display:none; }
  3. [include file='/wp-content/uploads/portadas/equipos.css']  
  4. [include file='/wp-content/uploads/portadas/portadas.css']</style>
  5. <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js' type='text/javascript'></script>
  6. <script type='text/javascript'>//<![CDATA[
  7. [include file='/wp-content/uploads/portadas/equipos.js']
  8. [include file='/wp-content/uploads/portadas/codigo.js']
  9. // ]]></script>
  10. [include file='/wp-content/uploads/portadas/primera.html']
  11. <img id='bola' src='/wp-content/uploads/portadas/quadrequipsbola.png' style='display:none;' />
  12. <div id='globo' style='display:none;'>
  13.   <div id='carcasa1'>
  14.     <div id='miniescut'></div>
  15.     <div id='textminiescut'>
  16.       <span id='textminiescutnom'></span><br />
  17.       <span id='textminiescutlloc'></span>
  18.     </div>
  19.   </div>
  20.   <div id='carcasa2'></div>
  21. </div>
  22. </div>

Este es el html de primera.html

Código HTML:
Ver original
  1. <div class="logoprimera"></div>
  2.  
  3.  
  4. <div id="contenedormapa">
  5.  
  6.  
  7. <a href="/?p=115"><div id="ALMERIA" class="escuts"><div class="marco" ></div></div></a>
  8.  
  9. <a href="/?p=96"><div id="ATHLETIC_CLUB" class="escuts"><div class="marco" ></div></div></a>
  10.  
  11. <a href="/?p=123"><div id="ATLETICO" class="escuts"><div class="marco" ></div></div></a>
  12.  
  13. <a href="/?p=63"><div id="BARCELONA" class="escuts"><div class="marco" ></div></div></a>
  14.  
  15. <a href="/?p=109"><div id="DEPORTIVO" class="escuts"><div class="marco" ></div></div></a>
  16.  
  17. <a href="/?p=105"><div id="ESPANYOL" class="escuts"><div class="marco" ></div></div></a>
  18.  
  19. <a href="/?p=111"><div id="GETAFE" class="escuts"><div class="marco" ></div></div></a>
  20.  
  21. <a href="/?p=165"><div id="HERCULES" class="escuts"><div class="marco" ></div></div></a>
  22.  
  23. <a href="/?p=167"><div id="LEVANTE" class="escuts"><div class="marco" ></div></div></a>
  24.  
  25. <a href="/?p=120"><div id="MALAGA" class="escuts"><div class="marco" ></div></div></a>
  26.  
  27. <a href="/?p=126"><div id="MALLORCA" class="escuts"><div class="marco" ></div></div></a>
  28.  
  29. <a href="/?p=127"><div id="OSASUNA" class="escuts"><div class="marco" ></div></div></a>
  30.  
  31. <a href="/?p=28"><div id="REAL_MADRID" class="escuts"><div class="marco" ></div></div></a>
  32.  
  33. <a href="/?p=128"><div id="REAL_RACING" class="escuts"><div class="marco" ></div></div></a>
  34.  
  35. <a href="/?p=163"><div id="REAL_SOCIEDAD" class="escuts"><div class="marco" ></div></div></a>
  36.  
  37. <a href="/?p=130"><div id="REAL_SPORTING" class="escuts"><div class="marco" ></div></div></a>
  38.  
  39. <a href="/?p=107"><div id="REAL_ZARAGOZA" class="escuts"><div class="marco" ></div></div></a>
  40.  
  41. <a href="/?p=129"><div id="SEVILLA" class="escuts"><div class="marco" ></div></div></a>
  42.  
  43. <a href="/?p=102"><div id="VALENCIA" class="escuts"><div class="marco" ></div></div></a>
  44.  
  45. <a href="/?p=113"><div id="VILLAREAL" class="escuts"><div class="marco" ></div></div></a>

Este es el codigo de equipos.js

Código Javascript:
Ver original
  1. var cuadros={
  2.  
  3.     ponferradina:{
  4.  
  5.                     pagina:'192',
  6.  
  7.                     escudo:[111,0],
  8.  
  9.                     grande:[88,88],
  10.  
  11.                     ajustegrande:[8,8],
  12.  
  13.                     pequenyo:[42,42],
  14.  
  15.                     bola:[197,205],
  16.  
  17.                     globo:[226,146],
  18.  
  19.                     nombre:'Sociedad Deportiva Ponferradina, S.A.D.',
  20.  
  21.                     poblacion: 'Ponferrada',
  22.  
  23.                     id:'ponferradina',
  24.  
  25.                     img: '/wp-content/uploads/2009/11/PONFERRADINA.jpg'
  26.  
  27.                         }
  28. }

Y este el de código.js

Código Javascript:
Ver original
  1. function muestra(club){
  2.  
  3.     var datos= cuadros[club];
  4.  
  5.     if (!datos) { return; }
  6.  
  7.     $('#globo').css('top',datos.globo[0]).css('left',datos.globo[1]);
  8.  
  9.     $('#bola').css('top',datos.bola[0]-20).css('left',datos.bola[1]);
  10.  
  11.     $('#miniescut').css('background-image',"url(/image.php?width="+datos.pequenyo[0]+"&height="+datos.pequenyo[1]+"&image="+datos.img+")");
  12.  
  13.     $('#textminiescutnom').html(datos.nombre);
  14.  
  15.     $('#textminiescutlloc').html(datos.poblacion);
  16.  
  17.     $('#globo').fadeIn(50);
  18.  
  19.     $('#bola').fadeIn(50);
  20.  
  21. }
  22.  
  23. function apagatodos() {
  24.  
  25.   while (cuadroactual.length>0) {
  26.  
  27.     a= $('#'+cuadroactual.shift());
  28.  
  29.     a.children().fadeOut(200);
  30.  
  31.   }
  32.  
  33. }
  34.  
  35. var cuadroactual=[];
  36.  
  37. $(document).ready(function(){
  38.  
  39.     $('.escuts')
  40.  
  41.         .mouseover(function(evento){
  42.  
  43.       if ( evento.target ) {
  44.  
  45.         if (evento.target.id=="" || cuadroactual.indexOf(evento.target.id)>=0 ) { return; }
  46.  
  47.       }
  48.  
  49.             apagatodos();
  50.  
  51.             $('.marco').fadeOut(10);
  52.  
  53.             cuadroactual.push(evento.target.id);
  54.  
  55.       muestra(evento.target.id.toLowerCase());
  56.  
  57.             $(evento.target).children().fadeIn(300);
  58.  
  59.         })
  60.  
  61.         .click(function(){
  62.  
  63.       location.href= $(this).prev().children()[0].href;
  64.  
  65.         });
  66.  
  67.     $('.marco')
  68.  
  69.         .mouseout(function(evento){
  70.  
  71.             $(evento.target).html('');
  72.  
  73.             $('#globo').fadeOut(0);
  74.  
  75.             $('#bola').fadeOut(0);
  76.  
  77.             $(evento.target).fadeOut(200);
  78.  
  79.             apagatodos();
  80.  
  81.         });
  82.  
  83. });

Siento molestar pero ya no se que haces, ojala pudierais echarme una mano

Última edición por cronosmen; 23/11/2010 a las 11:40
  #2 (permalink)  
Antiguo 24/11/2010, 08:46
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: error javascript: El objeto no acepta esta propiedad o metodo

Alguien me puede ayudar? :(
  #3 (permalink)  
Antiguo 24/11/2010, 10:30
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 9 meses
Puntos: 53
Respuesta: error javascript: El objeto no acepta esta propiedad o metodo

Cuando una app funciona en firefox, chrome y demas pero no en IE suele ser el problema de la "extra-coma", te recomiendo pases tu código por el JSLint y veas si te arroja algún warning o error.

http://www.javascriptlint.com/online_lint.php

Espero te sirva.

Saludos
  #4 (permalink)  
Antiguo 24/11/2010, 17:08
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: error javascript: El objeto no acepta esta propiedad o metodo

Muchisimas gracias por cnotestar stock, he pasado el validador y nada.... ya no muestra errores la web que me has pasado peo en ie sigue sin funcionar, una pregunta, es conocido que $(document).ready de algún error en ie?.

Una cosa mas por medio de alerts me estoy dando cuenta de que el error esta por esta parte del código, pero no encuentro nada, ojala pudierais ayudarme

Código Javascript:
Ver original
  1. var cuadroactual=[];
  2.  
  3. $(document).ready(function(){
  4.  
  5.     $('.escuts').mouseover(function(evento){
  6.  
  7.       if (evento.target){
  8.  
  9.         if (evento.target.id==""||cuadroactual.indexOf(evento.target.id)>=0){ return; }
  10.  
  11.       }
  12.  
  13.             apagatodos();
  14.  
  15.             $('.marco').fadeOut(10);
  16.  
  17.             cuadroactual.push(evento.target.id);
  18.  
  19.       muestra(evento.target.id.toLowerCase());
  20.  
  21.             $(evento.target).children().fadeIn(300);
  22.  
  23.         }).click(function(){
  24.  
  25.       location.href= $(this).prev().children()[0].href;
  26.  
  27.         });
  28.  
  29.     $('.marco').mouseout(function(evento){
  30.  
  31.             $(evento.target).html('');
  32.  
  33.             $('#globo').fadeOut(0);
  34.  
  35.             $('#bola').fadeOut(0);
  36.  
  37.             $(evento.target).fadeOut(200);
  38.  
  39.             apagatodos();
  40.  
  41.         });
  42.    
  43. });

Última edición por cronosmen; 24/11/2010 a las 17:41
  #5 (permalink)  
Antiguo 24/11/2010, 22:44
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: error javascript: El objeto no acepta esta propiedad o metodo

no domino jquery, asi que por esa area no puedo ayudar. de todos modos, analizando un poco el codigo veo que estas usando el metodo indexOf de un array. en iexplorer8 y anteriores [no tengo la version 9 para comprobarlo] dicho metodo no existe. a no ser que jquery creara ciertas funciones estandares para el nucleo de iexplorer. mientras tanto tienes dos opciones. una es crear tu propia version de dicho metodo y agregarlo al prototipo de Array, o descargas algun parche para metodo estandares que no tiene soporte en algunos navegadores. la otra alternativa es desistir del metodo indexOf y crear un proceso mas estandar. por ejemplo, conviertes el array a string y desde el string utilizas indexOf o algun patron de pareo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 25/11/2010, 05:05
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: error javascript: El objeto no acepta esta propiedad o metodo

zerokilled, tengo que darte un millon de gracias, ha funcionado con un pequeño parche que es

if(!Array.indexOf){
Array.prototype.indexOf = function(obj){
for(var i=0; i<this.length; i++){
if(this[i]==obj){
return i;
}
}
return -1;
}
}

Muchisimas gracias de verdad!!! Que contentooo ^^

Última edición por cronosmen; 25/11/2010 a las 05:11

Etiquetas: metodo, objeto, propiedad
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 11:17.