Google AJAX biblioteche CDN per jQuery
-
24-09-2019 - |
Domanda
Ho una pagina in cui ho bisogno SWFObject, jQuery e Google Maps API. Ho pensato che avrei potuto utilizzare i vantaggi di utilizzare:
<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>
Ma ora ho letto da qualche parte ( http://encosia.com/2008/12/10/3-reasons-why-you-should-let-google-host-jquery-for-you/ ) che ho bisogno di usare
google.setOnLoadCallback(function() {
// Place init code here instead of $(document).ready()
});
invece di $ (document) .ready () .. È vero?
Soluzione
Ci sono due modi di usare l'API Ajax Biblioteche.
In primo luogo, si può semplicemente utilizzare Google per ospitare il file jQuery:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
In secondo luogo si può utilizzare per fare asincrona carichi di jQuery, che è quello che si sta facendo riferimento. Se si esegue questa operazione il modello è:
<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>
Il motivo è necessario utilizzare google.setOnLoadCallback()
è perché carico jQuery in questo caso è asincrona, quindi è necessario attendere per jQuery per caricare e del documento per essere pronti.
Il motivo è necessario utilizzare jQuery all'interno della callback carico è perché non può essere caricato in qualsiasi altro luogo al momento si esegue il Javascript, che porta a una condizione di competizione potenziale e gli errori intermittenti.