Seseorang menonaktifkan JavaScript di lingkungan browser karena pertimbangan berikut:
- Kecepatan & Bandwidth
- Kegunaan & Aksesibilitas
- Dukungan Platform
- Keamanan
Kecepatan & Bandwidth
Banyak aplikasi menggunakan terlalu banyak JavaScript untuk kebaikannya sendiri ... Apakah Anda memerlukan bagian antarmuka Anda untuk disegarkan oleh panggilan AJAX sepanjang waktu? Mungkin antarmuka Anda terasa hebat dan cepat ketika digunakan dengan koneksi broadband, tetapi ketika Anda harus menurunkan kecepatan koneksi menjadi lebih lambat, antarmuka yang lebih ramping lebih disukai. Dan mematikan JavaScript adalah cara yang baik untuk mencegah aplikasi web yang bodoh untuk menyegarkan dunia setiap 15 detik atau lebih tanpa alasan yang jelas. (Pernah melihat jumlah data yang dikirim melalui Facebook? Menakutkan. Ini bukan hanya masalah terkait JS, tetapi juga bagian dari itu).
Kami juga cenderung lebih banyak memuat dari pemrosesan ke klien, dan jika Anda menggunakan perangkat keras minimalis (atau hanya ketinggalan jaman), ini sangat lambat.
Kegunaan & Aksesibilitas
Tidak semua antarmuka pengguna harus diekspresikan secara dinamis, dan konten yang dihasilkan server mungkin bisa diterima dalam banyak kasus. Plus, beberapa orang tidak menginginkan antarmuka seperti ini. Anda tidak dapat menyenangkan semua orang, tetapi kadang-kadang Anda memiliki kesempatan untuk dan kewajiban untuk memuaskan semua pengguna Anda.
Akhirnya, beberapa pengguna memiliki cacat, dan jangan abaikan mereka !!!
Skenario terburuk di sini, menurut pendapat saya, adalah situs web pemerintah yang mencoba "memodernisasi" UI mereka agar tampak lebih ramah kepada publik, tetapi akhirnya meninggalkan sebagian besar audiens yang dituju. Demikian pula, sangat disayangkan ketika seorang mahasiswa tidak dapat mengakses konten programnya: karena dia buta dan pembaca layarnya tidak mendukung situs tersebut, atau karena situs tersebut sangat berat dan memerlukan plug-in modern ad-hoc yang dia tidak bisa menginstal pada laptop yang diperbaharui yang dibeli di e-bay 2 tahun yang lalu, atau lagi karena dia kembali ke rumah ke negara lain untuk liburan musim semi dan kendala bandwidth lokal tidak dapat mengatasi payload dari situs
Tidak semua orang hidup di dunia yang sempurna.
Dukungan Platform
Poin ini berkaitan dengan 2 yang sebelumnya dan cenderung kurang relevan saat ini, karena browser menanamkan mesin JavaScript yang tingkat besarnya lebih efisien daripada sebelumnya, dan ini terus menjadi lebih baik.
Namun, tidak ada jaminan bahwa semua pengguna Anda memiliki hak istimewa untuk menggunakan browser modern (baik karena kendala korporat - yang memaksa kami untuk mendukung browser kuno tanpa alasan yang baik, benar-benar - atau alasan lain yang mungkin atau mungkin tidak valid). Seperti yang disebutkan oleh "Matthieu M." dalam komentar, Anda harus ingat bahwa banyak orang masih menggunakan perangkat keras berkualitas rendah, dan tidak semua orang menggunakan smartphone terbaru dan paling keren. Sampai hari ini, masih ada sebagian besar orang yang menggunakan ponsel yang telah menyematkan browser dengan dukungan terbatas.
Tapi, seperti yang saya sebutkan, segalanya menjadi lebih baik di daerah ini. Tetapi Anda masih harus mengingat poin sebelumnya tentang batasan bandwidth jika Anda tetap melakukan polling secara teratur (atau pengguna Anda akan menikmati tagihan telepon yang bagus).
Itu semua sangat saling terkait.
Keamanan
Meskipun jelas Anda bisa berpikir bahwa tidak ada hal yang berbahaya yang dapat dilakukan dengan JavaScript mengingat itu berjalan di lingkungan browser, ini sama sekali tidak benar.
Anda benar-benar menyadari bahwa ketika Anda mengunjungi P.SE dan SO, Anda secara otomatis masuk jika Anda masuk ke jaringan lain, kan? Ada beberapa JS di sana. Bit itu masih tidak berbahaya, tetapi menggunakan beberapa konsep yang dapat dieksploitasi oleh beberapa situs jahat. Sangat mungkin bagi sebuah situs web untuk menggunakan JavaScript untuk mengumpulkan informasi tentang beberapa hal yang Anda lakukan (atau lakukan) selama sesi penelusuran Anda (atau yang sebelumnya jika Anda tidak menghapus data sesi Anda setiap kali Anda keluar dari browser atau menjalankan yang sekarang mode penyamaran umum / penjelajahan pribadi secara ekstensif) dan kemudian cukup unggah ke server.
Kerentanan terkini (bekerja di browser utama pada saat itu) termasuk kemampuan untuk mengumpulkan data formulir input yang disimpan (dengan mencoba kombinasi untuk Anda di halaman jahat dan merekam teks yang disarankan untuk setiap kombinasi huruf awal yang memungkinkan, mungkin memberi tahu penyerang siapa Anda , tempat Anda bekerja dan tinggal ) atau untuk mengekstrak riwayat dan kebiasaan penelusuran Anda ( Peretasan yang sangat cerdik melakukan sesuatu yang sederhana seperti menyuntikkan tautan ke DOM laman untuk mencocokkan warna tautan dan melihat apakah telah dikunjungi . Anda hanya perlu melakukan ini pada tabel yang cukup besar dari nama domain yang dikenal. Dan browser Anda semakin cepat dalam memproses JavaScript, hal semacam ini dilakukan dengan cepat.)
Plus, jangan lupa bahwa jika model keamanan browser Anda cacat, atau situs web yang Anda kunjungi tidak cukup melindungi diri dari serangan XSS, maka orang mungkin menggunakan JavaScript untuk cukup memanfaatkan sesi terbuka Anda di situs web jarak jauh.
JavaScript sebagian besar tidak berbahaya ... jika Anda menggunakannya untuk situs web tepercaya. Gmail Facebook (mungkin ... dan bahkan tidak ...). Pembaca Google. StackExchange.
Tapi ya tentu, JavaScript tidak seburuk itu, kan? Dan ada hal-hal menakutkan yang ditakuti online. Seperti berpikir Anda anonim ketika Anda benar-benar tidak banyak , seperti yang ditunjukkan oleh percobaan Panopticlick dari EFF . Yang juga sebagian dilakukan dengan menggunakan JavaScript. Anda bahkan dapat membaca alasan mereka menonaktifkan JavaScript untuk menghindari sidik jari peramban .
Semua ini dikatakan, mungkin ada situasi yang sangat baik di mana Anda tidak perlu repot-repot mendukung JavaScript. Tetapi jika Anda menawarkan situs web layanan publik, pertimbangkan untuk menerima kedua jenis klien. Secara pribadi, saya pikir banyak aplikasi web dan situs web modern akan berfungsi sama baiknya dengan menggunakan model konten yang dihasilkan server tanpa JavaScript sama sekali di sisi klien, dan itu akan tetap bagus dan mungkin jauh lebih sedikit memakan.
Jarak tempuh Anda dapat bervariasi tergantung pada proyek Anda.