Saya menggunakan jQuery di beberapa situs web saya dan meskipun saya menggunakan CDN untuk menyajikannya, tidak masuk akal bagi pengunjung untuk mengunduh jQuery setiap kali. jQuery harus menjadi kerangka kerja JavaScript yang paling banyak digunakan di dunia - bukankah lebih masuk akal jika browser hanya menginstalnya secara default?
Dengan cara itu jutaan kali sehari unduhan jQuery dapat dicegah. Baik dari situs web orang sendiri atau dari CDN.
Semua yang benar-benar dibutuhkan adalah semacam pernyataan if seperti:
<!--[if jQuery gt 11]>
Apakah ada sesuatu yang akan membantu saya mencegah pengguna melakukan perjalanan ke CDN jika mereka sudah memiliki jQuery dalam cache mereka dari situs lain?
Jawaban:
Jika Anda melayani jQuery dari CDN populer seperti Google Hosted Libraries atau cdnjs , itu tidak akan diunduh ulang jika pengunjung Anda berada di situs yang mereferensikannya dari sumber yang sama (selama versi cache belum kedaluwarsa).
jQuery adalah pustaka populer, seperti yang Anda katakan, tetapi menggabungkannya dengan browser tidak mungkin terjadi karena beberapa alasan:
sumber
Tidak hanya jQuery bukan satu-satunya perpustakaan JS yang populer, peramban berpotensi harus menyertakan beberapa versi. The Google CDN saat ini daftar: 42 versi jQuery; 44 versi jQuery UI; 6 versi jQuery Mobile.
Lebih baik mengizinkan pengembang web untuk menentukan versi perpustakaan mana yang akan diunduh berdasarkan persyaratan situs web mereka. Jika Anda menggunakan versi produksi jQuery saat ini di situs web Anda dan memuatnya dari CDN yang lebih populer, maka kemungkinan besar pengunjung Anda akan sudah menyimpannya di cache.
sumber
Peramban adalah mesin yang bukan tugas perancang mesin untuk mengetahui jenis bahan bakar dan komponen tambahan apa yang akan Anda masukkan ke dalam mobil Anda dan memasukkannya untuk Anda. Jika mereka melakukan ini, browser akan menjadi bloatware besar karena pertanyaan berikutnya adalah "mengapa hanya jQuery?", Dan kita akhirnya akan mempertahankan repositori dependensi.
Juga, akankah kami menyertakan semua versi? Bagaimana jika seseorang ingin menggunakan versi khusus? Bagaimana jika seseorang tidak ingin menggunakan perpustakaan itu? Seberapa sering mereka akan menggabungkan dan memutar rilis terbaru? Apakah kita akan berakhir dengan browser yang berbeda dengan jQuerys versi yang berbeda? Mereka bahkan tidak dapat menerapkan fungsi HTML, CSS, dan JavaScript standar yang setara. Bagaimana jika salah satu pengelola browser tidak akan menyertakan perpustakaan atau versi spesifiknya?
Peramban menyediakan blok bangunan dan lingkungan untuk Anda bangun bukan solusi yang sudah jadi.
Menempatkan jQuery ke dalam peramban tidak akan membuat situs Anda memuat dengan sangat cepat karena saat ini ini bukan hambatan terbesar, namun kami dapat setuju bahwa jQuery adalah perpustakaan yang tidak perlu besar, tetapi tujuannya tidak pernah menjadi perpustakaan yang cepat (mempertimbangkan bandwidth). Ada banyak perpustakaan lain yang secara khusus dirancang untuk memuat cepat dan menjadi ringan seperti Zepto .
Jika Anda benar-benar peduli tentang ukuran dan penggunaan bandwidth jQuery, maka jangan menggunakannya. Pernahkah Anda mendengar tentang Vanilla JS ? Ini adalah perpustakaan yang bahkan lebih populer yang digunakan secara harfiah oleh hampir semua orang termasuk jQuery sendiri! Dan itu sudah memenuhi impian Anda karena sudah termasuk dalam setiap browser!
sumber
Alasan menggunakan perpustakaan seperti jQuery adalah kompatibilitas.
Peramban menjadi lebih memenuhi standar, tetapi dengan menggunakan pustaka jquery, Anda menyediakan sendiri, Anda tidak perlu khawatir tentang perbedaan antara keluarga peramban dan versi
Dengan memasok jquery sendiri, Anda yakin memiliki api yang konsisten.
Jika kami memiliki jquery yang terpasang di dalam browser, Anda harus memeriksa versi mana yang dimiliki oleh pengguna, dan kami kembali ke browser-niffing dan "Situs ini paling baik dilihat di ..."
Jadi memiliki jquery di browser tidak masuk akal.
Juga, caching berfungsi, jadi bahkan jika pengguna belum memiliki versi jquery Anda, itu hanya perlu diunduh satu kali.
sumber
Saya benar-benar berpikir para responden di sini gagal memahami bahwa jawaban atas pertanyaan adalah browser mungkin harus mencari untuk memasukkan perpustakaan yang paling banyak digunakan, dan polyfill dll di sisi klien.
Sebagai orang yang mengajukan pertanyaan menyatakan, komentar bersyarat dapat digunakan untuk memastikan bahwa mereka yang menggunakan browser yang tidak termasuk jquery disajikan versi yang sesuai.
Jquery juga menyertakan dukungan kompatibilitas mundurnya sendiri melalui migrasi, memungkinkan komentar bersyarat untuk memberikan dukungan retro untuk seseorang dengan versi paket dari pustaka jquery lama tanpa mengunduh pustaka yang sama sekali baru.
Argumen untuk menyertakan ini di browser tidak hanya tentang pengalaman pengguna dan biaya, tetapi juga tentang planet ini kita hidup. Penggunaan data merupakan kontribusi besar terhadap polusi global, dan memastikan bahwa transfer data yang tidak perlu diminimalkan dapat memiliki efek dramatis pada jejak karbon kita.
Intinya demi menambahkan beberapa megabyte kode tambahan di browser yang terpaket - data yang sama sedang diangkut sekitar miliaran kali sehari.
Itu memperburuk pengalaman pengguna untuk semua orang di internet. Dan biaya bisnis besar dalam jumlah besar.
Sebagai pengembang, Anda hanya perlu membuat cadangan yang diperlukan seperti yang kami lakukan saat ini untuk IE dll, jadi apa masalahnya - mungkin harus dimasukkan tentunya?
sumber