[Resolvido] rich:jquery não funciona no Chrome, Help Socorro!

Amigos me ajudem por favor! :cry:

Estou fazendo uma funcionalidade com aqueles slides show em forma de carrossel, com JQuery…só nao funciona no Google Chrome!

Testei no IE, FireFox, Opera…e todos funcionaram corretamente!Até no browser interno do Eclipse funciona direitinho…Geralmente é no IE que as coisas nao funcionam :lol:, mas esse Chrome ainda tem uma porrada de bugs…

Tentei tirar o rich:jquery e usar o proprio Jquery diretamente importando o arquivo js, e tambem apenas no Chrome nao funcionou!

Vou mostrar isso pro cliente na quarta feira…e o cara testa em todos os browsers possiveis e existentes!Meu projeto vai rodar se essa porcaria nao funcionar…

Segue o codigo:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:a4j="http://richfaces.org/a4j"
      xmlns:rich="http://richfaces.org/rich">

	<ui:composition>
		
		<a4j:loadScript src="js/jquery.jcarousel.pack.js"></a4j:loadScript>
		
		<link rel="stylesheet" type="text/css" href="css/carousel/jquery.jcarousel.css" />
		<link rel="stylesheet" type="text/css" href="css/carousel/skins/easy/skin.css" />
		
		
			<ul id="carousel" class="jcarousel-skin-easy">
				<li><h:graphicImage width="150px" value="images/LogoEasy.jpg" /></li>
				<li><h:graphicImage width="150px" value="images/LogoEasy.jpg" /></li>
			</ul>
		
		
		<rich:jQuery query="jcarousel()" selector="#carousel" timing="onload"></rich:jQuery>
		
	</ui:composition>
</html>

Esse é o codigo gerado no browser…apenas no Chrome nao funciona!

<html  xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<script src="/EasyMotors/a4j/g/3_3_1.GAorg/richfaces/renderkit/html/scripts/jquery/jquery.js.html" type="text/javascript"></script>
		<script src="js/jquery.jcarousel.pack.js" type="text/javascript"></script>
	</head>
	<link rel="stylesheet" type="text/css" href="css/carousel/jquery.jcarousel.css" /> 
	<link rel="stylesheet" type="text/css" href="css/carousel/skins/easy/skin.css" /> 
		
		
	<ul id="carousel" class="jcarousel-skin-easy"> 
		<li><img src="images/LogoEasy.jpg" alt="" width="150px" /></li> 
		<li><img src="images/LogoEasy.jpg" alt="" width="150px" /></li> 
	</ul>
	<script type="text/javascript"> 
	//<![CDATA[
 
  		jQuery(document).ready(function() {
			var selector = "#carousel";
			try {
				selector = eval("#carousel");
			} catch (e) {}
			jQuery(selector).jcarousel();
 		});
 
	//]]>
	</script>
</html>

Alguma alma caridosa, me ajude, please!!

Obrigado amigos!!

Poxa amigos…o Google Chrome é uma porcaria e só eu tive problemas? :stuck_out_tongue:

Alguem…por favor!Salvem meu pescoço! :lol:

Obrigado!

cara, pq vc tá usando o eval()??? oO
pq não coloca o nome do ul direto como parâmetro de jQuery() ???

E lembre-se que o jQuery é uma camada de abstração tb. Logo, ele ainda pode não ser compatível ao Chrome.

Em tempo: Browser Compatibility

edit:

[quote=“JQuery Docs”]
Any problem with them should be considered and reported as a bug in jQuery.[/quote]

Eles mesmo dizem que é obrigação deles ser compatível com os browsers, e não os browsers serem compatíveis com o JQuery :wink:

[quote=clone_zealot]cara, pq vc tá usando o eval()??? oO
pq não coloca o nome do ul direto como parâmetro de jQuery() ???

E lembre-se que o jQuery é uma camada de abstração tb. Logo, ele ainda pode não ser compatível ao Chrome.

Em tempo: Browser Compatibility

edit:

[quote=“JQuery Docs”]
Any problem with them should be considered and reported as a bug in jQuery.[/quote]

Eles mesmo dizem que é obrigação deles ser compatível com os browsers, e não os browsers serem compatíveis com o JQuery ;)[/quote]

Obrigado!

Sobre o eval, a resposta é: nao sei :lol: . Na verdade é o RichFaces que monta aquela chamada da função…de qualquer forma eu tambem usei passando o nome do ul como parametro e tambem nao funcionou.

Concordo que a obrigação dos frameworks é serem compativeis com os browsers…porem, isso só me atrapalha no momento.

Mas valeu!

Estou desenvolvendo um sistema utilizando richfaces e também estou tendo serios problemas com campatibilidade com os browsers, isso é um tiro no s…o.
Mas como o sistema só vai rodar dentro da empresa, eu não vou me importar por enquanto com a compatibilidade com outros browsers principalmente com o IE pq esse eu não gosto nem um pouco, por enquanto esta rodando somente no FireFox

UP no tópico…me ajudem novamente amigos :lol:

Aparentemente esse primeiro problema com o jQuery foi resolvido…alterei minha pagina para JSP (estava usando uma pagina xhtml) e, COM O MESMO CODIGO, funcionou.

Aparentemente terei que usar pelo menos essa pagina como JSP no meu projeto…o problema é que estou utilizando Faceletes e já tenho varias paginas como xhtml

Alterei um parametro no web.xml para ler tambem paginas jsp, mas agora as paginas xhtml pararam de funcionar :lol: :frowning:

É possivel, em um mesmo projeto, utilizar xhtml e jsp?Ou na pior das hipoteses, jsp e Facelets?

Obrigado!

Amigos estou quase…resolvi o problema do jQuery migrando a pagina pra JSP…e alterei o projeto para rodar paginas jsp e xhtml…

Porem, preciso fazer o include desse jsp em uma pagina xhtml e nao estou conseguindo!Tem alguma magica especial pra isso? :? :cry:

Olha o erro…


SEVERE: Error Rendering View[/TesteXhtml.xhtml]
com.sun.facelets.FaceletException: Error Parsing /TesteComJSP.jsp: Error Traced[line: 1]

Ok…parece que é o Facelets que nao está conseguindo renderizar o codigo da pagina em função da sintaxe Jsp. Mas defini no web.xml para o Facelets mapear tanto arquivos xhtml quanto jsp…

O que eu faço camaradas? :cry:

Resolvido!!!

Retirei a diretiva “page” da pagina jsp e usei a mesma sintaxe de uma pagina xhtml.

E funcionou…obrigado amigos!

Resolvido nada…após o include do jsp na página xhtml, continua nao funcionando apenas no Chrome…

Ah, dane-se…nao vai rodar nesse lixo de browser e ponto final.

Obrigado pessoal!

Resolvi definitivamente este problema do jquery não funcionar no Chrome.

cole este codigo no seu jquery.carousel ou jcarousellite.js

/if (p == ‘marginRight’ && $.browser.safari) { var old = {‘display’: ‘block’, ‘float’: ‘none’, ‘width’: ‘auto’}, oWidth, oWidth2; $.swap(el, old, function() { oWidth = el.offsetWidth; }); old[‘marginRight’] = 0; $.swap(el, old, function() { oWidth2 = el.offsetWidth; }); return oWidth2 - oWidth; }/

/*if ($.browser.safari) { this.buttons(false, false); $(window).bind(‘load’, function() { self.setup(); }); } else */ this.setup();

resolveu e abriu na mesma hora no chrome.

postei isso pq é só este post q existe no google falando do caso… como resolvi decidi deixar gravado aqui :smiley: