Foros del Web » Programando para Internet » Jquery »

Error "Se esperaba un objeto" en IE con jquery

Estas en el tema de Error "Se esperaba un objeto" en IE con jquery en el foro de Jquery en Foros del Web. Buenas! Tengo esta parte de codigo (esta incluido en un plugin de wordpress) que hace que el internet explorer me arroje este error: Cita: Detalles ...
  #1 (permalink)  
Antiguo 06/11/2009, 08:55
Avatar de Zuker  
Fecha de Ingreso: marzo-2007
Ubicación: Argentina
Mensajes: 164
Antigüedad: 17 años, 8 meses
Puntos: 1
Error "Se esperaba un objeto" en IE con jquery

Buenas!

Tengo esta parte de codigo (esta incluido en un plugin de wordpress) que hace que el internet explorer me arroje este error:

Cita:
Detalles de error de página web

Mensaje: Se esperaba un objeto
Línea: 103
Carácter: 4
Código: 0
Código:
	<script type="text/javascript">
		/* <![CDATA[ */
			jQuery(document).ready(function() {
				jQuery('.car-collapse').find('.car-monthlisting').hide();
				jQuery('.car-collapse').find('.car-monthlisting:first').show();
				jQuery('.car-collapse').find('.car-yearmonth').click(function() {
					jQuery(this).next('ul').slideToggle('fast');
				});
				jQuery('.car-collapse').find('.car-toggler').click(function() {
					if ( '<?php echo js_escape( __('Expand All', 'clean-archives-reloaded') ); ?>' == jQuery(this).text() ) {
						jQuery(this).parent('.car-container').find('.car-monthlisting').show();
						jQuery(this).text('<?php echo js_escape( __('Collapse All', 'clean-archives-reloaded') ); ?>');
					}
					else {
						jQuery(this).parent('.car-container').find('.car-monthlisting').hide();
						jQuery(this).text('<?php echo js_escape( __('Expand All', 'clean-archives-reloaded') ); ?>');
					}
					return false;
				});
			});
		/* ]]> */
	</script>
La línea 103 vendria a ser esta
Cita:
jQuery(document).ready(function() {
Alguna idea?

Gracias!
  #2 (permalink)  
Antiguo 06/11/2009, 09:34
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Cita:
La línea 103 vendria a ser esta
A esto lo chequeaste en el Internet Explorer o en tu editor web? IE no suele coincidir en la numeracion de renglones, ojo.

Si esa es la linea, asegurate de que la libreria jQuery este siendo incluida. Hay otros plugins usando jquery?
  #3 (permalink)  
Antiguo 06/11/2009, 10:49
Avatar de Zuker  
Fecha de Ingreso: marzo-2007
Ubicación: Argentina
Mensajes: 164
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Cita:
Iniciado por mayid Ver Mensaje
A esto lo chequeaste en el Internet Explorer o en tu editor web? IE no suele coincidir en la numeracion de renglones, ojo.

Si esa es la linea, asegurate de que la libreria jQuery este siendo incluida. Hay otros plugins usando jquery?
Esta incluida la libreria, la cargo desde el yui de google...

La numeracion es la del codigo fuente de ie, que es donde me aparece el error. Estoy seguro que es esa linea.
  #4 (permalink)  
Antiguo 06/11/2009, 18:41
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Hace unos meses me pasaba lo mismo. Proba quitando la llamada a jquery, porque en una de esas esta repetida.

Si me acuerdo puntualmente cual era el problema te escribo. Tengo un cuadernito de bitacora.
  #5 (permalink)  
Antiguo 07/11/2009, 10:47
Avatar de Zuker  
Fecha de Ingreso: marzo-2007
Ubicación: Argentina
Mensajes: 164
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Cita:
Iniciado por mayid Ver Mensaje
Hace unos meses me pasaba lo mismo. Proba quitando la llamada a jquery, porque en una de esas esta repetida.

Si me acuerdo puntualmente cual era el problema te escribo. Tengo un cuadernito de bitacora.
Yo creo que el problema esta en la llamada a jquery que hace esa parte del codigo!

Los otros plugins que utilizan jquery, no lo hacen de esa manera
  #6 (permalink)  
Antiguo 07/11/2009, 11:14
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Algo medio vueltero pero que funcionaría es buscar otra seccion donde existe esta llamada:

jQuery(document).ready(function() {

Y luego eliminar la que trae tu plugin. Asi no se repite. Luego, a tu script lo llevas a pie de pagina, o mejor aun lo encerrar en un funcion que va a ser llamada desde document.ready

function plugin(){
...
}


jQuery(document).ready(function() {
plugin()
}
  #7 (permalink)  
Antiguo 09/11/2009, 15:01
Avatar de Zuker  
Fecha de Ingreso: marzo-2007
Ubicación: Argentina
Mensajes: 164
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Cita:
Iniciado por mayid Ver Mensaje
Algo medio vueltero pero que funcionaría es buscar otra seccion donde existe esta llamada:

jQuery(document).ready(function() {

Y luego eliminar la que trae tu plugin. Asi no se repite. Luego, a tu script lo llevas a pie de pagina, o mejor aun lo encerrar en un funcion que va a ser llamada desde document.ready

function plugin(){
...
}


jQuery(document).ready(function() {
plugin()
}
Genial! lo arregle de esa forma. Saludos y gracias!
  #8 (permalink)  
Antiguo 06/02/2010, 15:46
 
Fecha de Ingreso: abril-2003
Mensajes: 8
Antigüedad: 21 años, 7 meses
Puntos: 0
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Hola! Estoy teniendo el mismo problema, pero no entiendo la solución que usaron. Cómo es el tema de "encerrar en un funcion que va a ser llamada desde document.ready"?

Gracias!
  #9 (permalink)  
Antiguo 07/02/2010, 10:03
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Pensalo asi: el explorador lee el codigo de arriba abajo. Entonces, si tenes codigo en la cabecera, se lee antes que el html (del body). El problema está en que el codigo pretenda modificar el html, porque tl html todavía no se imprimió! Entonces, para evitar conflictos, existe DOM.ready o document.ready (que son muy similares).

Cita:
jQuery(document).ready(function() {

})
Esa función lo que logra es que el codigo que escribas ahi adentro se ejecute en una segunda lectura, en vez de en una primera. Asi que lo que sea que escribas ahi, se va a ejecutar una vez que todo el DOM esté construido.

Si tratas de modificar el DOM antes de terminar de imprimirlo, vas a tener error.

  #10 (permalink)  
Antiguo 07/02/2010, 17:12
 
Fecha de Ingreso: abril-2003
Mensajes: 8
Antigüedad: 21 años, 7 meses
Puntos: 0
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Sigo sin entender

Estoy usando Jquery por primera vez y no entiendo muy bien qué estoy haciendo...

Te paso el código que estoy usando:

1. Por un lado, el código de Jquery para IDtabs, tal cual vino

Código:
// JavaScript Document
/* idTabs ~ Sean Catchpole - Version 2.2 - MIT/GPL */
(function(){var dep={"jQuery":"http://code.jquery.com/jquery-latest.min.js"};var init=function(){(function($){$.fn.idTabs=function(){var s={};for(var i=0;i<arguments.length;++i){var a=arguments[i];switch(a.constructor){case Object:$.extend(s,a);break;case Boolean:s.change=a;break;case Number:s.start=a;break;case Function:s.click=a;break;case String:if(a.charAt(0)=='.')s.selected=a;else if(a.charAt(0)=='!')s.event=a;else s.start=a;break;}}
if(typeof s['return']=="function")
s.change=s['return'];return this.each(function(){$.idTabs(this,s);});}
$.idTabs=function(tabs,options){var meta=($.metadata)?$(tabs).metadata():{};var s=$.extend({},$.idTabs.settings,meta,options);if(s.selected.charAt(0)=='.')s.selected=s.selected.substr(1);if(s.event.charAt(0)=='!')s.event=s.event.substr(1);if(s.start==null)s.start=-1;var showId=function(){if($(this).is('.'+s.selected))
return s.change;var id="#"+this.href.split('#')[1];var aList=[];var idList=[];$("a",tabs).each(function(){if(this.href.match(/#/)){aList.push(this);idList.push("#"+this.href.split('#')[1]);}});if(s.click&&!s.click.apply(this,[id,idList,tabs,s]))return s.change;for(i in aList)$(aList[i]).removeClass(s.selected);for(i in idList)$(idList[i]).hide();$(this).addClass(s.selected);$(id).show();return s.change;}
var list=$("a[href*='#']",tabs).unbind(s.event,showId).bind(s.event,showId);list.each(function(){$("#"+this.href.split('#')[1]).hide();});var test=false;if((test=list.filter('.'+s.selected)).length);else if(typeof s.start=="number"&&(test=list.eq(s.start)).length);else if(typeof s.start=="string"&&(test=list.filter("[href*='#"+s.start+"']")).length);if(test){test.removeClass(s.selected);test.trigger(s.event);}
return s;}
$.idTabs.settings={start:0,change:false,click:null,selected:".selected",event:"!click"};$.idTabs.version="2.2";$(function(){$(".idTabs").idTabs();});})(jQuery);}
var check=function(o,s){s=s.split('.');while(o&&s.length)o=o[s.shift()];return o;}
var head=document.getElementsByTagName("head")[0];var add=function(url){var s=document.createElement("script");s.type="text/javascript";s.src=url;head.appendChild(s);}
var s=document.getElementsByTagName('script');var src=s[s.length-1].src;var ok=true;for(d in dep){if(check(this,d))continue;ok=false;add(dep[d]);}if(ok)return init();add(src);})();
2. El codigo que arme en base a lo que dicen en este post. No me arreglo el temita del IE, pero sigue funcionando perfecto en Firefox.

Código:
// JavaScript Document
      $(document).ready(function() {
          // put all your jQuery goodness in here.

			  $("#adv3").idTabs(function(id){ 
				switch(id){ 
				  case "#cake": $("#message").html("It's so delicous and moist!"); break; 
				  case "#pie":  $("#message").html("Just the way mom makes it."); break; 
				} return true; 
			  }); 

      });
3. El encabezado de mi archivo que se puede ver completo en: [URL="http://www.6vdesign.com.ar/vbustos/cvs-equipo.html"]http://www.6vdesign.com.ar/vbustos/cvs-equipo.html[/URL]

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><!-- InstanceBegin template="/Templates/index.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- InstanceBeginEditable name="doctitle" -->
<title>Instituto Viviana Bustos - Quienes Somos - Equipo</title>
<!-- InstanceEndEditable --> 
<!-- InstanceBeginEditable name="head" -->
<script type="text/javascript" language="javascript" src="http://www.6vdesign.com.ar/vbustos/scripts/jquery.idTabs.min.js" ></script>
<script src="scripts/idtabs.js" type="text/javascript"></script>
Ahora que pasé el código al archivo externo que puse en 2., IE dice que se esperaba un objeto en la línea 3, caracter 7, que sería inmediatamente después del <head>.

Si me pueden dar una mano, les agradezco un montón!!!

Saludos,

Vicky
  #11 (permalink)  
Antiguo 07/02/2010, 18:55
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Si estas usando jquery por primera vez, entonces quizas estes necesitando estudiar javascript un tiempo antes de operarlo.

Javascript a fondo
http://www.desarrolloweb.com/javascript/

DOM javascript
http://www.desarrolloweb.com/manuale...avascript.html

Manipulación del DOM:
http://www.maestrosdelweb.com/editorial/dom/
  #12 (permalink)  
Antiguo 07/02/2010, 18:57
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Puntualmente, tu error es que no estas incluyendo la libreria jquery:

Tiene que ir justo antes que esta:

Cita:
<script type="text/javascript" language="javascript" src="http://www.6vdesign.com.ar/vbustos/scripts/jquery.idTabs.min.js" ></script>
  #13 (permalink)  
Antiguo 08/02/2010, 18:07
 
Fecha de Ingreso: abril-2003
Mensajes: 8
Antigüedad: 21 años, 7 meses
Puntos: 0
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Ouch... qué error tan tonto!! Gracias por encontrarlo!!!

Estoy tratando de aprender Javascript, pero al mismo tiempo trato de usarlo, y no me va tan bien... Pero siempre se tarda un ratito con estas cosas. Gracias de nuevo!
  #14 (permalink)  
Antiguo 08/02/2010, 19:25
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Error "Se esperaba un objeto" en IE con jquery

Si, al principio puede que estés despistado. Hace lo posible por concentrarte en el siguiente paso cada vez. Organizarse es lo mejor.

Que bueno que estés implementando cosas porque ahí es cuando todo va encontrando su lugar. Aunque al principio pueda resultar mareante.
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 02:48.