Jump to content


Photo

Criando Um Widget Com Jquery


  • Faça o login para participar
12 replies to this topic

#1 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 04/03/2010, 01:01

Estou desenvolvendo um widget utilizando a biblioteca JQuery, acontece que preciso disponibilizar apenas o código da chamada do Widget, algo como
<script>
item = 2039;
palavras = "computador,celular,tv de plasma';
</script>
<script src="http://www.meusite.com.br/widget.js"></script>
Acho que deu pra entender né? O problema é o seguinte, não sei como fazer para que o widget espere o JQuery ser carregado para somente depois executar as funções necessárias. Neste caso, estou carregando o JQuery dentro do arquivo widget.js mas, sempre que executo o JavaScript executa sem esperar o carregamento total da biblioteca JQuery.

Alguma sugestão?

Falopa!

#2 Édipo Costa Rebouças

Édipo Costa Rebouças

    Veterano

  • Ex-Admins
  • 1079 posts
  • Sexo:Masculino
  • Localidade:Brasil - São Paulo

Posted 04/03/2010, 18:16

bem, deixei o jquery separado do widget.js logo acima, ai você não tera problema.

<script>
item = 2039;
palavras = "computador,celular,tv de plasma';
</script>
<script src="http://www.meusite.com.br/jquery.js"></script>
<script src="http://www.meusite.com.br/widget.js"></script>

ou no js, você deixa o código do jquery encima e logo abaixo você tenta fazer algo chamando um evento do jquery tipo:

//código do jquery
$(window).ready(function(){
//código do seu widget
});

você pode ver tambem se o jquery já esta carregado antes de vc chamar ele denovo, evitando dar algum bug
if(typeof($)!='undefined'){
	//código do jquery
}
$(window).ready(function(){
//código do seu widget
});


#3 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 04/03/2010, 21:59

if(typeof($)!='undefined'){
        //código do jquery
}
$(window).ready(function(){
//código do seu widget
});
Em código você quer dizer a chamada para o JQuery?

Falopa!

#4 Édipo Costa Rebouças

Édipo Costa Rebouças

    Veterano

  • Ex-Admins
  • 1079 posts
  • Sexo:Masculino
  • Localidade:Brasil - São Paulo

Posted 05/03/2010, 08:17

o próprio código do jquey

#5 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 09/03/2010, 22:20

@ EDIPO
Então deixa ver se entendi, você está sugerindo copiar a biblioteca JQuery e colar dentro do arquivo widget.js, é isso?

Falopa!

#6 Willian Gustavo Veiga

Willian Gustavo Veiga

    12 Horas

  • Usuários
  • 175 posts
  • Sexo:Masculino

Posted 10/03/2010, 08:49

Sim :)
Posted Image

#7 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 10/03/2010, 10:21

@ WILLIAM GUSTAVO
Parece meio deselegante fazer isso, não existe uma forma de carregar o JQuery ali dentro sem ter que copiar o código? falo isso porque sempre que precisar atualizar a versão do JQuery teria que copiar tudo novamente.

Falopa!

#8 Édipo Costa Rebouças

Édipo Costa Rebouças

    Veterano

  • Ex-Admins
  • 1079 posts
  • Sexo:Masculino
  • Localidade:Brasil - São Paulo

Posted 11/03/2010, 12:06

mas antes você esta carregando o jquery fora do widget?

#9 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 12/03/2010, 02:57

@ EDIPO
Não estou carregando o JQuery, queria carregá-lo na hora que o arquivo widget estivesse sendo carregado.

Falopa!

@ ÉDIPO
Por enquanto copiei a biblioteca para dentro do arquivo widget.js (depois vejo se existe outra forma).

Agora quanto ao funcionamento, me deparei com algo que me deixou intrigado. O JQuery (ou o JS) por questões de seguração não permite carregar páginas externas, então, como é que faço pra carregar o conteúdo do widget?

Tenho a seguinte página http://www.pesquisap...dutos:pendrive/ onde requisito alguns itens e são exibidos na tela, gostaria que o JQuery lê-se esta página e carregasse o conteúdo em uma div onde está o código que chama o widget.js no exemplo seria esta página http://www.pesquisap...m/anuncios.html

Acontece que só funciona se estiver no mesmo domínio (se acessar sem www já não funciona), como resolver isso? ou melhor estou fazendo certo?

Abaixo seria o código que consulta os itens no servidor.
<script>		$( function()
		{
			
			urlTarget = 'http://www.pesquisapreco.com/api/widget/afiliado:'+ pp_afiliado +'/afiliadoId:'+ pp_afiliadoId +'/ofertas:'+ pp_ofertas +'/produtos:'+ pp_produtos +'/';
			
			
			$.get( urlTarget, function( treta )
			{
				
				$( '.result' ).html( data );
				//document.write( data );
				
			});
			
		});
</script>

Falopa!

#10 Édipo Costa Rebouças

Édipo Costa Rebouças

    Veterano

  • Ex-Admins
  • 1079 posts
  • Sexo:Masculino
  • Localidade:Brasil - São Paulo

Posted 12/03/2010, 12:38

vc tera que implementar um proxy, ai tipo vc acessa proxy.php?url=http://www.edipo.com.br
ou vc faz seu widget dentro de um inframe, resolve todos os problemas, google faz assim por exemplo.

Edição feita por: Édipo Costa Rebouças, 12/03/2010, 16:21.


#11 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 12/03/2010, 14:32

@ EDIPO
Acabei optando pelo iframe por ser mais simples e funcional. Agora vem a dúvida, como fazer pra calcular o espaço vertical que o Widget irá utilizar? Exemplo, quando não houver resultados suficientes para criar 3 linhas de resultados o tamanho do iframe deverá ocupar somente o espaço de 1 ou 2 linhas de resultado de acordo com o que encontrar.

Deu pra entender mais ou menos o que estou falando?

Falopa!

#12 Édipo Costa Rebouças

Édipo Costa Rebouças

    Veterano

  • Ex-Admins
  • 1079 posts
  • Sexo:Masculino
  • Localidade:Brasil - São Paulo

Posted 12/03/2010, 16:31

o que vc pode tentar fazer é acessar o window.parent ou só parent e tentar acessar o seu iframe. como está em outro dominio, eu não sei se isso vai ser possivel.
eu errei no texto de cima e corrigi, não é proxy do lado cliente, é proxy normal só que bem simplificado, não é nada muito dificil de implementar no php, acho que duas linhas sejam o suficiente.

#13 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 12/03/2010, 20:58

@ EDIPO
Agora me bateu outra dúvida maligna. Como eu faço para o conteúdo do Widget aparecer no local onde está sendo carregado o JavaScript do widget.js? Sempre que faço window.write() escreve a página toda.

Exemplo:

<p>texto parágrafo 1<p><script>
function faz_alguma( coisa )
{
return "faz alguma coisa com "+ coisa;
}
faz_alguma( 'String' );
</script>
<p>texto parágrafo 2<p>
Neste exemplo queria que aparecesse o conteúdo da função no local onde está sendo chamada a função mas, como?

Falopa!

Edição feita por: hostdesigner, 12/03/2010, 20:59.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq