it-swarm-id.com

Haruskah saya mengembangkan untuk menonaktifkan JavaScript?

Haruskah saya mengembangkan untuk menonaktifkan JavaScript?

Saya merasa bahwa waktu saya lebih baik dihabiskan untuk pengembangan untuk mayoritas.

103
Jiew Meng

Ada filosofi desain web yang dikenal sebagai Peningkatan Progresif yang harus Anda pertimbangkan. Idenya adalah Anda membangun situs dasar yang dapat digunakan dan bisa digunakan, dan kemudian Anda lapisan ke perangkat tambahan ini seperti jQuery dan hal-hal khusus browser untuk "meningkatkan" itu. Dengan cara ini Anda mendapatkan situs yang berfungsi untuk semua orang dan terlihat bagus untuk mayoritas.

Jika itu tidak meyakinkan Anda, maka pertimbangkan alasan lain untuk membuat situs berfungsi tanpa javascript:

  • Ini lebih SEO friendly. Jika situs Anda bergantung pada JS untuk konten dan tautan maka kemungkinan mesin pencari akan mengabaikannya.

  • Bayangkan Anda adalah situs eCommerce yang menjual widget. Sekarang, bahkan jika hanya 5% dari pelanggan Anda menonaktifkan javascript, itu adalah potensi kerugian penjualan sebesar 5%. Apakah layak kehilangan pelanggan?

  • Jangan mendiskriminasi yang cacat. Mengandalkan javascript berarti situs Anda tidak dapat diakses dan, dalam beberapa kasus (seperti situs sektor pemerintah/publik), Anda dapat melanggar hukum dengan mendiskriminasi orang.

70
Dan Diplo

Untuk satu, saya tidak setuju dengan orang-orang di luar sana yang bersikeras bahwa semuanya harus berfungsi tanpa Javascript. Sangat menyenangkan untuk kode ke penyebut umum terendah dalam banyak kasus (misalnya, saya akan benar-benar marah jika situs bank saya memerlukan Flash atau omong kosong semacam itu.) Tetapi secara realistis hampir semua orang telah mengaktifkan Javascript hari ini dan jika digunakan dengan benar situs yang dihasilkan bisa sangat spektakuler dan bermanfaat! (Maksudku, mari kita lihat bagaimana Nice Google Maps ketika Javascript dimatikan ...)

Namun, ini seharusnya tidak membebaskan Anda dari paling tidak memastikan bahwa halaman Anda gagal dengan anggun jika Javascript tidak ada. Jangan pernah membiarkan pengguna Anda menatap halaman yang setengah dimuat, rusak tanpa ada indikasi apa yang salah. Cukup tanyakan pada diri sendiri: Apakah saya lebih suka menghabiskan waktu 2 menit untuk mengkodekan pesan "Halaman ini memerlukan Javascript" atau menerima 10 email setiap hari dari pengguna yang memberi tahu saya bahwa halaman saya rusak karena noscript diaktifkan?

47
Toji

Ya kamu harus.

Jika Anda menganggap ini sebagai sesuatu yang membutuhkan usaha ekstra, Anda mungkin melakukannya sebaliknya.

Kembangkan halaman Anda agar berfungsi tanpa JavaScript terlebih dahulu kemudian tambahkan peningkatan berbasis JavaScript, efek Ajax, dan sebagainya. Mereka akan bekerja jika JS didukung/diaktifkan, jika tidak halaman Anda akan menurunkan anggun.

Dan tolong, jangan mengembangkan halaman di mana:

  1. Seluruh konten ditarik dari database oleh JavaScript

  2. Markup sepenuhnya berantakan karena elemen-elemen direkatkan bersama-sama dan dimasukkan ke tempat yang tepat oleh JavaScript, bukan oleh CSS

  3. Tautan dalam navigasi dan di dalam tubuh tidak berfungsi tanpa JavaScript (kecuali jika itu adalah kerangka kerja seperti ASP.NET yang mengandalkan JavaScript karena suatu alasan)

Itu hanya melawan semangat web dan melawan akal sehat.

P.S. Diucapkan oleh pengguna NoScript.

39
user8685

Sebagai pengembang, saya tidak lagi khawatir tentang 1% pengguna yang mematikan Javascript. Terlalu memakan waktu dan waktu pengembangan terlalu mahal untuk dihabiskan dengan omong kosong seperti itu. AJAX menghemat jumlah bandwidth yang luar biasa yang langsung berubah menjadi $$$, yang membuat keuntungan lebih tinggi. Jika saya kehilangan satu atau dua pengguna potensial situs untuk setiap 100 pengguna, satu atau dua yang hilang pengguna akan membutuhkan biaya lebih banyak dalam pengembangan daripada pendapatan potensial yang bisa mereka bawa.

Coba matikan Javascript dan masuk ke Facebook, itu menjadi situs web yang sangat rusak setelah itu. Jika cukup baik untuk Facebook, cukup bagus untuk saya.

33
Robert

Secara pribadi saya menggunakan NoScripts plugin Firefox saat menjelajah, dan saya mendorong orang lain untuk menggunakannya. Pada semua PC keluarga saya menjaga NoScripts adalah salah satu bit wajib dari perangkat lunak yang saya instal. Saya mengaturnya dengan daftar putih situs web email dan perbankan dasar bersama dengan situs sosial & video populer dan menjelaskan kepada mereka bagaimana cara sementara memungkinkan bekerja. Dilihat dari popularitas plugin ini saya pikir ada sebagian orang yang menggunakannya.

Paling tidak saya berharap fungsi navigasi berfungsi tanpa skrip. Jika Anda memiliki sesuatu yang spesifik seperti video yang memerlukan skrip maka boleh, tetapi tampilkan placeholder yang bagus yang mengatakan "skrip diperlukan untuk melihat video ini".

Membuat navigasi Anda bergantung pada skrip adalah kesalahan besar. Dalam banyak kasus itu akan membuat saya bangkit dari situs dengan jijik. Kesalahan yang bahkan lebih besar adalah memiliki bagian dari situs atau navigasi Anda hilang sama sekali ketika skrip dinonaktifkan. Kecuali Anda menyoroti fakta bahwa ada sesuatu yang hilang, ada peluang bagus saya bahkan tidak akan menyadarinya, jadi tinggalkan saja situs Anda karena mengira itu tidak ada. Juga, pesan layar penuh yang hanya mengatakan "situs ini membutuhkan skrip" tidak akan membuat Anda terlalu jauh, saya perlu melihat beberapa tingkat konten sebelum saya percaya Anda cukup untuk memungkinkan skrip.

Terakhir, jangan lupa bahwa bukan hanya PC desktop yang meramban situs Anda, tetapi peramban seluler semakin populer. Meskipun dukungan JavaScript seluler semakin baik, tidak ada yang mendekati sempurna, kecuali jika Anda akan menguji banyak browser seluler yang berbeda, saya sarankan Anda mencari versi seluler halaman Anda tanpa skrip.

11
Simon P Stevens

Tergantung pada situs dan siapa yang akan menggunakannya.

Apakah situs tersebut publik atau intranet atau situs yang hanya akan tersedia untuk pelanggan tertentu? Anda mungkin akan menemukan pengguna tanpa JavaScript di depan umum. Jika hanya akan digunakan oleh klien, dapatkah Anda memberi tahu mereka bahwa Anda hanya mendukung JavaScript yang diaktifkan?

Apakah SEO menjadi pertimbangan atau apakah seluruh situs di belakang layar masuk atau SEO bukankah itu faktor? Jauh lebih mudah untuk mengoptimalkan mesin pencari jika tidak ada JavaScript.

Apakah situs akan pernah digunakan di browser seluler? Browser seluler seringkali tidak memiliki atau tidak mendukung JavaScript.

Anda juga harus menyadari bahwa JavaScript dapat mempersulit pembaca layar untuk memproses situs Anda dan memiliki pertimbangan aksesibilitas negatif lainnya.

Pengguna browser berbasis teks (mis. Lynx) juga memiliki sedikit atau tidak ada dukungan JavaScript.

Anda harus melihat situs dan audiens Anda dan memutuskan apakah Anda perlu mendukung pengguna yang menonaktifkan JavaScript. Anda juga harus melihat apakah mungkin menggunakan JavaScript. Jika Anda membuat Aplikasi Web canggih dan membutuhkan hal-hal seperti dukungan webcam dan mikrofon, mungkin tidak mungkin untuk tidak menggunakan JavaScript.

Jika Anda memutuskan bahwa Anda perlu mendukung pengguna tanpa JavaScript maka Anda masih dapat menggunakan JavaScript. Anda hanya harus membuat situs web tetap berfungsi tanpa itu. Ini disebut peningkatan progresif, harus dengan anggun diturunkan jika tidak ada dukungan JavaScript.

Jika Anda memutuskan untuk membutuhkan JavaScript, Anda harus memberi tahu pengguna Anda (menggunakan <noscript> tag) yang Anda lakukan.

9
Adam

Bisakah saya merekomendasikan artikel dari "A List Apart" ?:

Peningkatan Progresif dengan JavaScript

... Kami telah meninjau pola pikir yang diperlukan untuk menerapkan peningkatan progresif dalam JavaScript dan beberapa teknik untuk melakukannya. Kami juga menyentuh konsep skrip yang tidak mencolok dan belajar sedikit tentang cara mengelola hubungan antar CSS dan JavaScript.

Ketika Anda menggabungkan pendekatan umum dengan artikel itu dengan alat yang bermanfaat seperti JQuery (atau Prototipe, atau apa pun kerangka JavaScript pilihan Anda), sangat sepele untuk menerapkan perilaku JavaScript setelah fakta.

Ada beberapa jenis browser di luar sana yang masih belum memiliki JavaScript atau setidaknya dukungan JavaScript yang sangat terbatas. Belum lagi bahwa aturan # 1 untuk kepatuhan WCAG dan bagian 508 (aksesibilitas untuk orang-orang non-AS) adalah bahwa penglihatan itu tidak tergantung pada bahasa scripting untuk fungsi . Jika halaman dimuat ulang setiap kali saya melakukan perubahan, tetapi masih memungkinkan saya untuk melakukan perubahan itu berfungsi. Lapisan AJAX di atas situs dasar memungkinkan saya melakukan hal yang sama tanpa memuat ulang halaman.

Alasan utama yang dapat saya lihat untuk mendukung tidak ada pengguna JavaScript adalah:

  • Mendukung penyandang cacat (pembaca layar, perangkat input alternatif, dll.)
  • Mendukung orang yang sadar akan keamanan: hadapi saja, ada orang jahat yang melakukan hal-hal keji dengan JavaScript, jadi solusi termudah adalah dengan menyingkirkan JavaScript.
  • Ini cara termudah untuk menonaktifkan iklan tanpa plugin
  • Perangkat seluler dan tertanam
  • Browser baris perintah digunakan untuk mengunduh alat di server tanpa kepala
  • Laba-laba mesin pencari hanya mengikuti tautan nyata - JavaScript membuatnya bingung

Tolong, jika Anda akan memerlukan cookie dan JavaScript di situs Anda agar dapat berfungsi , maka lakukan uji tuntas Anda dengan benar untuk menghindari masalah berikut dengan berikut:

  • Serangan skrip lintas situs
  • Pelacakan pengguna pihak ketiga
  • Peretasan/Penempatan melalui manipulasi DOM
  • Phishing (jika skrip dapat mengakses DOM Anda, ia dapat mengirim informasi apa pun pada laman ke server tempat ia dimuat)

(Dan itu hanya daftar pendek)

Ketika solusinya tidak begitu sulit, mengapa tidak melakukannya?

Selain itu, saat Anda berada di pesta JavaScript, jangan lupa untuk mendukung navigasi papan ketik yang waras.

8
Berin Loritsch

Benar

Situs yang tidak berfungsi dengan benar tanpa JavaScript harus memberi tahu pengguna dengan jelas. Sebisa mungkin harus dibuat berfungsi dengan benar tanpa JavaScript. Ada kasus-kasus tertentu di mana ini tidak mungkin terjadi, situs yang sangat dinamis dibangun di atas lapisan AJAX dan pengambilan jarak jauh adalah salah satunya. Ini tidak berarti bahwa boleh saja menampilkan halaman kosong jika saya menonaktifkan JavaScript.

Degradasi anggun sangat penting, dan itu tidak hanya berlaku untuk JavaScript, itu berlaku untuk semua yang Anda kode. Markup HTML yang valid, CSS yang valid, validasi sisi server semuanya.

8
Josh K

Di situs seperti ini, Anda akan menemukan banyak pengembang memberi tahu Anda bagaimana mereka menonaktifkan Javascript sehingga Anda harus mendukung peningkatan progresif. Pada kenyataannya dari 5% orang yang memiliki Javascript dinonaktifkan, 90% dari mereka adalah pengembang dan pakar teknologi lainnya, mereka bukan masyarakat umum. Sebagian besar situs utama tidak mendukung peningkatan progresif. Sudahkah Anda mencoba menggunakan Facebook tanpa Javascript? Mereka pada dasarnya mengatakan pergi.

4
Craig

<5% pengguna menonaktifkan javascript

Menurut BrowserStatistics , pada 2008, hanya 5% pengguna yang menonaktifkan JavaScript. Tren ini terus menurun sehingga sangat aman untuk mengasumsikan bahwa sekarang mendekati 2011, jumlah itu jauh lebih kecil.

Turunkan Versi dengan Benar

Situs Anda harus tidak pernah rusak - tidak masalah apakah pengguna mengaktifkan atau menonaktifkan JS. Sekalipun sesederhana menampilkan pesan bahwa situs Anda memerlukan javascript dihidupkan, Anda harus memastikan bahwa situs web Anda membuat dan berperilaku dengan cara yang dapat diterima, tidak rusak bagi mereka yang memilih sedikit.

Pengerjaan ulang untuk pengguna non-JS? Biasanya: Tidak.

Pengembang biasa tidak perlu membuat versi non-javascript dalam bahasa lain. Namun, jika diketahui bahwa klien Anda memiliki kebutuhan anti-javascript, maka Anda jelas dipaksa untuk memenuhi kebutuhan itu. (Bahkan GMail memiliki versi no-JS)

3
rlb.usa

Pikiran saya:

Menggunakan javascript akan selalu meningkatkan area permukaan untuk serangan, tidak hanya untuk Anda, tetapi untuk pelanggan Anda - hampir semua orang yang saya kenal menjelajahi dengan NoScript, dan ini termasuk orang-orang non-teknis.

Jika saya melihat situs belanja online yang menggunakan javascript buruk, saya tidak akan membeli dari mereka. Saya selalu telusuri dulu dengan javascript dinonaktifkan, dan jika situs menurun anggun saya mungkin tertarik. Jika hanya rusak saya biasanya akan menganggap para programmer juga tidak memiliki kemampuan untuk memberikan platform toko yang aman.

Ini cenderung memperlambat semuanya - meskipun dekat dengan kota besar, broadband saya cukup lambat tanpa harus menunggu beberapa ide pemasaran untuk dimuat. Jika sebuah situs membutuhkan lebih dari 5 detik untuk memuat konten dasar maka saya tidak akan repot kecuali saya memiliki kebutuhan nyata.

1
Rory Alsop

Hanya pada fungsi misi kritis

Secara umum itu ide yang bagus untuk "menurunkan anggun". Namun saya akan saya hanya akan berkonsentrasi pada bagian-bagian penting misi aplikasi web Anda, untuk memenuhi situasi ketika JavaScript mungkin tidak tersedia.

Jika efek "lonceng & Peluit" nya saja, maka jangan repot-repot. Orang-orang yang sengaja berselancar tanpa JavaScript hanya perlu melakukan pengalaman sederhana (hei itu pilihan mereka untuk tidak menggunakan Js)

1
Darknight

Sebagian besar jawaban di sini tampaknya menyoroti kritik terhadap situs web standar yang menggunakan JavaScript dengan cara yang tidak esensial atau peretasan. Tetapi bagaimana dengan aplikasi web? Ada satu ton fungsi kritis yang tidak dapat dicapai bahkan secara efektif tanpa JavaScript. Bahkan sesuatu yang sederhana seperti penghitung Word dasar di bawah area teks, atau mengaktifkan/menonaktifkan pertanyaan formulir tambahan berdasarkan jawaban yang lain. Dalam hal ini, tidakkah masuk akal untuk membangun mayoritas dan menurunkan anggun untuk minoritas? Terutama jika Anda tahu bahwa basis pengguna Anda non-teknis dan tidak mungkin JS dinonaktifkan?

1
Jordan

Hal yang perlu dipertimbangkan:

AFAIK, spider mesin pencari tidak suka Javascript. Anda harus memiliki konten dasar dan navigasi tanpa Javascript hanya untuk SEO.

Beberapa situs web mungkin memiliki aturan untuk akses oleh orang cacat, baik karena alasan hukum atau untuk kebijakan perusahaan. Itu biasanya paling baik dilakukan dengan HTML sederhana dibandingkan dengan Javascript.

Sementara kebanyakan orang berselancar dengan Javascript pada saat ini, itu bukan jaminan untuk masa depan. Web menjadi semakin bermusuhan, dan alat-alat seperti NoScript dapat menjadi lebih populer. Bergantian, mungkin saja lebih banyak orang akan menggunakan perangkat dengan browser yang kurang mampu, meskipun dengan beberapa telepon Android menjadi cukup murah, ini tampaknya lebih kecil kemungkinannya. Degradasi yang anggun mungkin merupakan cara pemeriksaan situs di masa depan.

0
David Thornley

Iya.

Saya tidak akan berbicara tentang orang-orang dengan NoScript, perangkat tertanam, dll. Bagian mereka dapat diukur dan kemudian Anda dapat memutuskan apakah penurunan pendapatan disebabkan oleh gangguan, mis. Mis. 0,5% pengguna layak menerapkan solusi untuk mereka.

Tetapi ada alasan lain untuk mengikuti prinsip Peningkatan Progresif, dan mereka seringkali lebih penting.

  1. 100% pengguna tidak dapat menjalankan javascript sebelum skrip dimuat. Jika situs dapat bekerja tanpa js, itu dapat dimuat lebih cepat untuk pengunjung pertama kali, pengunjung dengan cache kosong dan untuk semua pengunjung setelah pembaruan kode js.

  2. Situs yang dapat bekerja tanpa js lebih andal. Kesalahan Javascript menghancurkan situs web adalah mimpi buruk arsitektur. Info lebih lanjut tentang ini dan masalah terkait: http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs

  3. Lebih mudah untuk tetap berpegang pada Progressive Enhancement daripada mengimplementasikan situs khusus SEO-friendly javascript.

  4. Lebih mudah untuk menulis tes otomatis untuk situs yang tidak memerlukan javascript untuk berfungsi.

Sebenarnya cukup mudah untuk mengikuti prinsip Peningkatan Progresif jadi mengapa tidak mengikutinya?

0
Mike Korobov

Tergantung pada jawaban untuk satu pertanyaan:

"Apakah biaya mendukung pengguna dengan Javascript dinonaktifkan lebih besar atau lebih kecil daripada uang yang hilang dengan tidak mendukung pengguna itu?"

Katakanlah situs web Anda memiliki umur 3 tahun sebelum perlu dibangun kembali, biayanya £ 30.000 untuk membangun untuk 'klien kaya', dan Anda menambahkan £ 10.000 lagi untuk mendukung pengguna non-javascript (yang kami anggap ada 5% dari)

Jika 5% pengguna yang hilang akan menghabiskan lebih dari £ 10.000 - lakukanlah. Jika mereka tidak mau, jangan lakukan itu kecuali Anda diharuskan secara hukum.

Ini lebih merupakan keputusan bisnis/ekonomis daripada keputusan teknis.

0
PhonicUK