Google bibliotecas AJAX CDN para jQuery
Tenho uma página onde preciso do SWFObject, do jQuery e da API do Google Maps.
Eu pensei que eu poderia usar os benefícios de usar:
<script type="text/javascript" src="http://www.google.com/jsapi?key=INSERT-YOUR-KEY"></script>
<script type="text/javascript">
google.load("jquery", "1.4.1");
google.load("swfobject", "2.2");
google.load('maps', '2', {'callback': googleMapSetup });
</script>
Mas agora leio em algum lugar (http://encosia.com/2008/12/10/3-reasons-why-you-should-let-google-host-jquery-for-you/)
que preciso de usar
google.setOnLoadCallback(function() {
// Place init code here instead of $(document).ready()
});
em vez de $(Documento).pronto().. É verdade?
3
1 answers
Existem duas formas de usar a API das bibliotecas Ajax.
Em primeiro lugar, pode usar o Google para hospedar o seu ficheiro jQuery:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
Em segundo lugar, podes usá-lo para fazer um monte de jQuery, que é a isso que te estás a referir. Se você fizer isso o padrão é:
<script type="text/javascript" src="http://www.google.com/jsapi?key=INSERT-YOUR-KEY"></script>
<script type="text/javascript">
google.load("jquery", "1.4.2");
google.load("swfobject", "2.2");
google.load('maps', '2', {'callback': googleMapSetup });
google.setOnLoadCallback(function() {
$(function() {
// Place init code here instead of $(document).ready()
});
});
</script>
A razão pela qual tem de usar {[[2]} é porque carregar o jQuery neste caso é assíncrono, pelo que tem de esperar que o jQuery seja carregado e que o documento esteja pronto.
A razão pela qual tens de o fazer use o jQuery dentro do callback de carga é porque ele pode não ser carregado em qualquer outro lugar no momento em que você executar o Javascript, levando a uma condição de corrida potencial e erros intermitentes.
4
Author: cletus, 2010-03-03 00:27:23