Ada beberapa masalah di sini. Pertama, metode muat async yang Anda tentukan:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('jquery', '1.3.1');
google.setOnLoadCallback(function() {
// do stuff
});
</script>
memiliki beberapa masalah. Tag skrip menghentikan sementara pemuatan halaman saat diambil (jika perlu). Sekarang jika mereka lambat memuat ini buruk tetapi jQuery kecil. Masalah sebenarnya dengan metode di atas adalah bahwa karena beban jquery.js terjadi secara independen untuk banyak halaman, mereka akan selesai memuat dan merender sebelum jquery dimuat sehingga setiap gaya jquery yang Anda lakukan akan menjadi perubahan yang terlihat bagi pengguna .
Cara lainnya adalah:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
Coba beberapa contoh sederhana seperti, miliki tabel sederhana dan ubah latar belakang sel menjadi kuning dengan metode setOnLoadCallback () vs $ (dokumen) .ready () dengan beban jquery.min.js statis. Metode kedua tidak akan memiliki flicker yang terlihat. Surat wasiat pertama. Secara pribadi saya pikir itu bukan pengalaman pengguna yang baik.
Sebagai contoh jalankan ini:
<html>
<head>
<title>Layout</title>
<style type="text/css">
.odd { background-color: yellow; }
</style>
</head>
<body>
<table>
<tr><th>One</th><th>Two</th></tr>
<tr><td>Three</td><td>Four</td></tr>
<tr><td>Five</td><td>Six</td></tr>
<tr><td>Seven</td><td>Nine</td></tr>
<tr><td>Nine</td><td>Ten</td></tr>
</table>
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.3.1");
google.setOnLoadCallback(function() {
$(function() {
$("tr:odd").addClass("odd");
});
});
</script>
</body>
</html>
Anda (harus) melihat tabel muncul dan kemudian baris menjadi kuning.
Masalah kedua dengan metode google.load () adalah hanya menampung sejumlah file terbatas. Ini adalah masalah untuk jquery karena sangat bergantung pada plug-in. Jika Anda mencoba dan menyertakan plugin jquery dengan <script src="...">
tag dan google.load()
plug-in mungkin akan gagal dengan pesan "jQuery belum ditentukan" karena belum dimuat. Saya tidak benar-benar melihat cara mengatasi ini.
Masalah ketiga (dengan kedua metode) adalah bahwa mereka adalah satu beban eksternal. Dengan anggapan Anda memiliki beberapa plugin dan kode Javascript Anda sendiri, Anda memiliki minimal dua permintaan eksternal untuk memuat Javascript Anda. Anda mungkin lebih baik mendapatkan jquery, semua plug-in yang relevan dan kode Anda sendiri dan memasukkannya ke dalam satu file yang diperkecil.
Dari Haruskah Anda Menggunakan API Perpustakaan Ajax Google untuk Hosting? :
Saat memuat kali, Anda sebenarnya memuat dua skrip - skrip jsapi dan skrip mootools (versi terkompresi dari atas). Jadi itu dua koneksi, bukan satu. Dalam pengalaman saya, saya menemukan bahwa waktu buka sebenarnya 2-3 kali lebih lambat daripada memuat dari server bersama pribadi saya, meskipun itu berasal dari Google, dan versi file terkompresi saya beberapa K lebih besar dari Google. Ini, bahkan setelah file dimuat dan (mungkin) di-cache. Jadi bagi saya, karena bandwidth tidak terlalu menjadi masalah, tidak akan menjadi masalah.
Terakhir Anda memiliki masalah potensial dari browser paranoid yang menandai permintaan sebagai semacam upaya XSS. Ini biasanya bukan masalah dengan pengaturan default tetapi pada jaringan perusahaan di mana pengguna mungkin tidak memiliki kontrol atas browser yang mereka gunakan apalagi pengaturan keamanan Anda mungkin memiliki masalah.
Jadi pada akhirnya saya tidak bisa benar-benar melihat saya menggunakan Google AJAX API untuk jQuery setidaknya (API lebih "lengkap" adalah cerita yang berbeda dalam beberapa hal) banyak kecuali mengirim contoh di sini.
src
sintaksis yang lebih sederhana / lebih aman / lebih cepat yang Anda gunakan sekarang? Jawaban Anda pada dasarnya sudah kanonik dan kedua perubahan itu akan membantu orang mendapatkan apa yang mereka dapatkan dengan cepat.