Google AJAX Libraries CDN für jQuery
-
24-09-2019 - |
Frage
Ich habe eine Seite, wo ich brauche SWFObject, jQuery und Google Maps API. Ich dachte, dass ich die Vorteile der Verwendung verwenden:
<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>
Aber jetzt habe ich irgendwo gelesen ( http://encosia.com/2008/12/10/3-reasons-why-you-should-let-google-host-jquery-for-you/ ) dass ich zu verwenden
brauchengoogle.setOnLoadCallback(function() {
// Place init code here instead of $(document).ready()
});
statt $ (document) .ready () .. Ist das wahr?
Lösung
Es gibt zwei Möglichkeiten, die Ajax Bibliotheken API.
Zum einen können Sie nur Google benutzen, um Ihre jQuery-Datei Host:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
Zum anderen können Sie es verwenden async Lasten von jQuery zu tun, das ist das, was Sie sich beziehen. Wenn Sie dies tun das Muster:
<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>
Der Grund für einen Benutzer google.setOnLoadCallback()
ist, weil Laden jQuery in diesem Fall asynchron ist, so dass Sie warten müssen für jQuery geladen werden und das Dokument fertig sein.
Der Grund, warum Sie haben jQuery innerhalb der Last Callback zu verwenden, weil es nirgendwo sonst zu dem Zeitpunkt geladen werden, können Sie die Javascript ausführen, was zu einer potenziellen Racebedingung und intermittierenden Fehlern.