İnsanlar neden JavaScript’i devre dışı bırakıyor?


59

Dün bir soru sordum JavaScript Devre Dışı Bırakmak İçin Rahatsız Etmeli miyim? . Sanırım consencus: Evet, JavaScript Disabled için geliştirmeliyim. Şimdi sadece kullanıcıların neden JS'yi devre dışı bıraktıklarını anlamak istiyorum. Görünüşe göre birçok geliştirici (sanırım soruları cevaplayan kişiler geliştiricilerdir) JS'yi devre dışı bırakıyor. Neden. Kullanıcılar neden JS'yi devre dışı bırakır? Güvenlik için? Hız? ya da ne?


9
Sanırım fıkralara dayanan varsayımlar yapıyorsun. Gerçek şu ki,% 99.7 kullanıcıları JS'yi kapatmıyor. Aslında, eğer JS gerçekten kapanmış olsalardı, burada bu soruyu cevaplamazlardı, çünkü bu site JS'siz çalışmıyor.
vartec

2
Bunu yapan kimseyi tanımıyorum.
kirk.burleson

6
@varted, @kirk: Yapan ya da en azından kısmen yapan bir çok insan tanıyorum. Güvenlik konusunda bilinçli birçok kişi, örneğin JavaScript'i yalnızca beyaz listedeki sitelerde izin verir. Ve JS'yi akıllı telefonlarında sık sık boşa harcadıkları bataryaya göre devre dışı bırakan bir çok şey biliyorum.
haylem

1
Güvenlik nedeniyle, javascript'i varsayılan olarak devre dışı bıraktım, ancak buna değer web siteleri için etkinleştirdim. Gerçekten pek çok web sitesinin javascript olmadan çalışmadığını sevmiyorum, pek bir işe yaramayan web siteleri var.
Czarek Tomczak

2
@HannesKarppila Hala alanları arası çerezleri ve web izleme hata görüntüler vb onlar javascript devre dışı sürece İzleme kullanıcıları çalışıyor kullanabilir ve internet oldukça kullanışsız olduğu bu durumda çerezler,.
NickG

Yanıtlar:


80

Biri, aşağıdaki hususlar nedeniyle bir tarayıcı ortamında JavaScript'i devre dışı bırakır:

  • Hız ve Bant Genişliği
  • Kullanılabilirlik ve Erişilebilirlik
  • Platform Desteği
  • Güvenlik

Hız ve Bant Genişliği

Pek çok uygulama kendi iyiliği için çok fazla JavaScript kullanıyor ... AJAX çağrıları tarafından sürekli yenilenen arayüzünüzün bir kısmına ihtiyacınız var mı? Belki de ara yüzünüz genişbant bağlantıyla kullanıldığında harika ve hızlı hissediyordur, ancak daha düşük bağlantı hızlarına düşürmeniz gerektiğinde, daha düzenli bir arayüz tercih edilir. Ve JavaScript'i kapatmak, dünyayı 15 saniyede bir yenilemek için salakça vurulan web uygulamalarını engellemenin iyi bir nedenidir. (Facebook'un gönderdiği veri miktarına hiç baktınız mı? Korkutucu. Bu yalnızca JS ile ilgili bir sorun değil, bunun bir parçası.)

Ayrıca müşteriye daha fazla ve daha fazla işlem yapma eğilimindeyiz ve minimalist (ya da sadece eski) donanım kullanıyorsanız, acı yavaştır.

Kullanılabilirlik ve Erişilebilirlik

Tüm kullanıcı arayüzleri dinamik bir şekilde ifade edilmemelidir ve sunucu tarafından oluşturulan içerik birçok durumda mükemmel şekilde kabul edilebilir. Ayrıca, bazı insanlar bu tür arayüzleri istememektedir. Herkesi memnun edemezsiniz, ancak bazen tüm kullanıcılarınızı aynı şekilde memnun etme şansınız ve göreviniz olabilir.

Sonunda, bazı kullanıcılar engellidir ve onları hiç görmezden gelmeyeceksiniz !!!

Buradaki en kötü senaryolar, benim görüşüme göre, kullanıcı arayüzlerini halka daha kolay görünmek için "modernize etmeye" çalışan, ancak hedef kitlelerinin büyük bir bölümünü geride bırakan hükümet web siteleri. Benzer şekilde, bir üniversite öğrencisinin ders içeriğine erişememesi üzücü: çünkü o kör ve ekran okuyucusu siteyi desteklemiyor ya da site çok ağır ve geçici modern eklentiler gerektiriyor 2 yıl önce e-bay'de satın alınan yenilenmiş dizüstü bilgisayarına kurulum yapamıyor ya da yine bahar tatili için eve başka bir ülkeye döndüğü için ve yerel bant genişliği kısıtlamaları bir site.

Herkes mükemmel bir dünyada yaşamıyor.

Platform Desteği

Bu nokta, öncekiler 2 ile ilgilidir ve günümüzde daha az alakalı olma eğilimindedir, çünkü tarayıcılar eskisi kadar verimli olan JavaScript motorlarını yerleştirmiştir ve bu daha iyi olmaya devam etmektedir.

Bununla birlikte, tüm kullanıcılarınızın modern tarayıcıları kullanma ayrıcalığına sahip olma garantisi yoktur (ya kurumsal kısıtlamalar nedeniyle - bizi antediluyalı tarayıcıları iyi bir sebep olmadan, ya da geçerli olabilecek ya da olmayan başka nedenlerle desteklemeye zorlar). "Matthieu M." tarafından belirtildiği gibi yorumlarda, birçok kişinin hala düşük kaliteli donanım kullandığını ve herkesin en yeni ve en havalı akıllı telefonu kullanmadığını hatırlamanız gerekir. Bugün itibariyle, sınırlı destekli gömülü tarayıcıları olan telefonları kullanan kişilerin hala önemli bir kısmı var.

Ancak dediğim gibi, bu alanda işler daha iyi hale geliyor. Ancak daha sonra düzenli olarak oy kullanmaya devam ederseniz (ya da kullanıcılarınız hoş bir telefon faturasının tadını çıkarırsa), bant genişliği sınırlamalarıyla ilgili önceki noktaları hatırlamanız gerekir.

Her şey birbiriyle ilişkili.

Güvenlik

Açıkçası, tarayıcı ortamında çalıştığı düşünüldüğünde, JavaScript ile özellikle tehlikeli bir şey yapılabileceğini düşünmese de, bu tamamen doğru değildir.

P.SE ve SO’yu ziyaret ettiğinizde, başka bir ağda oturum açtıysanız otomatik olarak oturum açtığınızı fark ediyorsunuz, değil mi? İçeride biraz JS var. Bu bit yine de zararsız olsa da, bazı kötü niyetli siteler tarafından kullanılabilecek bazı kavramları kullanıyor. Bir web sitesinin, gezinme oturumu sırasında yaptığınız (veya yaptığınız) bazı şeyler hakkında bilgi toplamak için JavaScript kullanması tamamen mümkündür; yaygın olarak kullanılan gizli / özel tarama modları) ve ardından onları bir sunucuya yükleyin.

Son zamanlardaki güvenlik açıkları (o sırada büyük tarayıcılarda çalışarak) kaydedilmiş giriş formları verilerini toplama yeteneğini (sizin için kötü niyetli bir sayfada kombinasyonları deneyerek ve olası her saldırgan mektubu kombinasyonu için önerilen metinleri kaydederek, muhtemelen saldırganlara olduğunuzu söyleyerek) , nerede çalıştığınızı ve yaşadığınızı ) veya göz atma geçmişinizi ve alışkanlıklarınızı ayıklamak ( Bağlantının rengiyle eşleşmek ve ziyaret edilip edilmediğini görmek için sayfanın DOM’ine bağlantılar enjekte etmek kadar basit bir şey yapmaktan çok zekice bir kesmek . Sadece yapmanız gerekir. Bu, bilinen etki alanı adlarının yeteri kadar büyük bir tablosunda. Tarayıcınız JavaScript'i işlemede daha hızlı oluyor; bu tür işlemler hızla gerçekleştiriliyor.)

Ayrıca, tarayıcınızın güvenlik modeli hatalıysa veya ziyaret ettiğiniz web sitelerinin XSS saldırılarına karşı yeterince korunmadıklarında, o zaman birinin uzak web sitelerinde açık oturumlarınıza girmek için JavaScript kullanabileceğini unutmayalım.

JavaScript çoğunlukla zararsızdır ... eğer güvenilir web siteleri için kullanıyorsanız. Gmail. Facebook (belki ... ve hatta ...). Google okuyucu. Stack Exchange.

Ama evet elbette, JavaScript o kadar da kötü olamaz, değil mi? Ve yine de çevrimiçi korkacak şeyler vardır. Gerçekten bu kadar olmadığında düşünme gibi anonim konum ile gösterildiği gibi, Panopticlick ait deney EFF . Bu da kısmen JavaScript kullanılarak yapılır. Tarayıcı parmak izini önlemek için JavaScript'i devre dışı bırakma nedenlerini bile okuyabilirsiniz .


Bütün bunlar söyleniyorsa, JavaScript'i desteklemekten rahatsız olmanıza gerek kalmayacak mükemmel durumlar olabilir. Ancak, bir kamu hizmeti web sitesi sunarsanız, her iki tür müşteriyi de kabul etmeyi düşünün. Şahsen, modern web uygulamalarının ve web sitelerinin çoğunun, istemci tarafında JavaScript içermeyen eski sunucu tarafından oluşturulan içerik modelini kullanmanın yanı sıra çalışacağını ve bunun muhtemelen daha iyi ve muhtemelen daha az tüketici olacağını düşünüyorum.

Kilometreniz projenize bağlı olarak değişebilir.


5
Örneğin Facebook, CPU'nuzdaki müthiş bir tahliyedir. Çok kötü kodlanmış (ya da göründüğü gibi) bazı sitelere rastladım, temelde CPU'yu tamamen yükleyerek bilgisayarım dondu (birkaç sekme açıkken).
Mark C

3
@Mark C: Bir yorum yazdığımda web formlarının hafifçe abartılı bir şekilde kullanıldığını, "gönder" in tıklanması için 140K kadar geri göndermeyi düşünüyorum. O zamanlar özel durumlarda olabilir ve o zamandan beri de düzelmiştir (umarım). Hmmm, internet sansüründe kısıtlayıcı duruşu olan ve çok iyi bir bağlantı kalitesi olmayan bir ülkede kısa bir süre yaşadım ve bu da size iyi metin tabanlı web sitelerini daha fazla takdir etmenizi sağlar!
haylem

8
Erişilebilirlikten bahsetmek için +1. Lanet olası ağın yarısı benim için tamamen kullanışsız ve ben sıradan bir bilgisayar kullanıcısı değilim ve JAWS'a (henüz) güvenmem gerekmiyor.
Stan Rogers

2
@Stan Rogers: Benim için çok önemli. Hem öğrenci hem de öğretmen olan üniversitede kör bir adamla çalışma şansım oldu ve yeteneklerinden mahrum kaldım. Ve büyük şirketlerin ve hatta eğitim kurumlarının bu kullanıcıların bırakıldığı berbat ve iddialı internet siteleri bulmaları oldukça üzücü.
haylem

2
Erişilebilirlik için +1. Sağlıkla çok ilgili bir site için çalışıyorum. (Neyse ki haberlerde berbat biri değil.) JS'in bize sağladığı yarar kadar, önceliklerimizden de çok üzgünüm.
Katana314

46

Çünkü her sabah komik çizgi roman yazmak için birini güvenen ve bilgisayarımda keyfi Turing-tam kod çalıştırmasına birilerine güvenerek ikisidir çok farklı şeyler.


3
Komik analoji için +1. Turing'in eksiksiz olması , infazın tehlikesiyle hiçbir ilgisi olmamasına rağmen .
haylem

4
@ haylem: Turing'in eksiksiz olması, genel durumda mekanik olarak güvenli olduğunu kanıtlamanın imkansız olduğu anlamına gelir. Heck, sonsuza dek sürmeyeceğini söyleyen basit şeyleri kanıtlamak bile imkansız. Daha kısıtlayıcı bir dil için, istemci tarayıcısının betiğin tehlikeli bir şey yapmadığını ispatlaması mümkün olacaktır.
Jörg W Mittag

22
Turing tamlığı sadece hesaplanabilirlik ile ilgilidir. Yorumlanan dilin dosyaları açmasına, HTTP istekleri yapmasına vb. İzin verilip verilmeyeceği hakkında hiçbir şey söylemez.
dan04,

@ dan04 Veya tarayıcınızın penceresine yansıtılan bir Masaüstü uygulamasını çalıştıran ve Windows çalıştıran bir x86 işlemcisini taklit etmeye çalışır - hepsi Javascript'te. Turing bütünlüğü korkutucu
sinni800 11:13

@ dan04 ve şimdi kriptocoin madenciliği botnet'leri (yalnızca bilgi işlem kaynakları ve sonuçları geri gönderme yeteneği gerektirir).
kullanıcı253751

16

Bir web geliştiricisi değilim ve internetin çalışma şekli hakkında çok makul bir anlayışa sahibim. Yani bu bir kullanıcıdan gelen bir cevap .

Tecrübelerim beni birçok sitenin basitçe kötü kodlanmış olduğuna inanmamı sağlıyor, tembellikten mi yoksa cehaletten mi: Facebook sayfası gibi temel bir statik web sayfasını görüntülediğimde, CPU kullanımım% 15 gibi önemli bir oranda artacaktır. Birden fazla sekme ile. Sonunda, bir düğmeye veya bağlantıya tıkladıktan sonra yanıt beklemek zorunda kalacağım noktaya geldi ve CPU'm aşırı ısınır ve kilitlenirdi.

Bu en kötü suçluların (siteler) çoğunda, görünen hiçbir şey değişmiyor ve etkileşimli hiçbir şey olmuyor. Yalnızca sitenin kodunun sürekli olarak aşırı yenileme, anket ve sonsuz döngü yaptığını varsayabilirim.

Bu işlem, CPU kullanımımı serbest bırakmak ve dolaşmayı sinir bozucu bir görev haline getirmek için NoScript'i yüklememe neden oldu.

Kullandığım diğer harika eklenti FlashBlock .


Facebook statik sayfalar sunmuyor: yeni bildirimleri, IM mesajlarını ve haber bültenlerini kontrol etmek için uzun oy kullanma adı verilen bir teknik kullanıyor . Bütün bunlar, JavaScript ve bir miktar CPU gücü gerektiriyor.

2
@MarkTrapp Evet, bu yüzden kesinlikle statik bir sayfa olmasa da "temel olarak statik" dedim. HyperPhysics, statik sayfalara sahip bir sitenin örneği olabilir. Muhtemelen bu tür bir şeyi yapmanın bir gereği olduğunu fark ettim, aksi takdirde kutular asla kaybolmaz ve siz sayfayı yenileyene kadar bildirimler görmezsiniz, ancak : Her sitenin kaynaklarından daha çok kaynak bulması için kendine yardım ettiği görülüyor. Bir profesörün veya öğretmenin sizden önce çalışmalarını koymanızı beklediği durum.
Mark C

Facebook'un statik bir sayfa olduğunu düşünüyorsanız, bu soruya yorum yapmamalısınız.
Dainius

@Dainius Jargon'u İngilizce ile karıştırıyor gibi görünüyorsunuz ve burada mantığı izlemiyorsunuz. Buradaki tüm CPU döngülerinde ne işi var? Sorun bu. Belki şimdi daha iyi, ama bu web sitelerinin çoğu CPU zamanını müstehcen bulmaya yardımcı oluyor.
Mark C

Mark, kendinize webdev diyorsunuz ve şunu soruyorsunuz, statik ve dinamik sayfanın cpu döngüleri ile ne ilgisi var? ya da "Facebook sayfası gibi temel olarak statik bir web sayfasını görüntüle" nin doğru olduğunu mu düşünüyorsunuz?
Dainius

10

JS'yi hız nedeniyle devre dışı bırakıyorum. JavaScript olmadan TechCrunch'ın kullanıma hazır önbellekle yüklenmesi birkaç saniye sürer. JavaScript ile önbellek kullanıma hazır değilse daha fazla 20 saniye sürer.

Pek çok site, özellikle resim galerileri ve ticaret siteleri olmak üzere, JavaScript ile sınırlı kalmıştır. Bunu kaldırmak, çoğu durumda size daha iyi bir tarama deneyimi sunar.


8

Benim için her şey güvenlikle ilgili. Bazı web sitelerinin javascript çalıştırmasına izin vermek için izin vermemek için noscript kullanıyorum.

Sonunda tehlikenin nerede olduğunu asla bilemezsiniz ( nobel web sitesi techspot.com'a bulaşmış ). Çoğu sıfır günlük (ve diğer) istismarlar, javascipt kullanır; Bu tek saldırı atağını kapatmak, doğru yönde atılmış bir adım gibi geliyor.


1
O bağlantı için tek bir şey etrafında parantez gerekir. Bu bana hatırlatıyor, sadece geçen kış Yahoo! Spor reklamlarına bir tür kötü amaçlı yazılım bulaşmış (veya size bulaşabilir). Kara kaldığımız ev ağını yöneten genç adam, bulaşıcı reklamları olan sayısız siteyi kara listeye aldı.
Mark C

7

Asıl sebebim, en sinir bozucu reklamları bastırması. Ziyaret ettiğim sitelerin gelirlerini etkileyebileceğinden AdBlock Plus kullanmamayı tercih ederim (ve hizmet şartlarının reklamları devre dışı bırakmadığımı söylediği bir veya iki siteyi kullandım). NoScript, reklamların potansiyel sapkınlığını sınırlar ve ben de onlarla birlikte yaşamaya hazırım.

Güvenlik değerlendirmesi de var ve bu, büyük ölçüde reklamlarla da ilgili, çünkü reklam satan herhangi bir sitenin düşmanca davranması gerekiyor.

Dahası, bir siteyi ziyaret etmeden önce tehlikeli olduğunu bilmiyorum. Bazı insanlar sitelere bağlantılar göndermekten hoşlanırlar ve mutlaka dürüst olmaları gerekmez.


Ayrıca güvenilir siteler, XSS aracılığıyla veya saldırıya uğradıkları için zararlı Javascriptler içerebilir. Nobel-ödül sitesi örneği akla geliyor.
Mnementh

4

Çünkü tarayıcılar, yavaş JavaScript uygulamaları kullanıyorlardı ve çok sayıda n00b web tasarımcısı, düğme rollover'lar gibi alakasız şeyler için kullandı.

Hızlı bir makinede, modern bir tarayıcı ile, aklı başında hiç kimse onu her zaman devre dışı bırakır. Modern bir tarayıcıyı hızlı bir bilgisayarda çalıştırmak için para, istek veya know-how olmadan pek çok "güvenlik bilincine sahip" insan ve diğerleri olmadığı söylenemez. İnternetteki en popüler tarayıcı!


"ve modern bir tarayıcıyı hızlı bir bilgisayarda çalıştırmak için fon, istek veya know-how olmayan diğerleri". "Para" kısmını anlayabilir ve kabul edebilirim. “Arzu” kısmını anlayabiliyorum, ancak bunun genellikle daha iyi bir bilgisayara sahip olmayı reddetmenin empoze edilen bir kısıtlama olarak “ihtiyaç” meselesi olacağını düşünüyorum. Ama ben gerçekten "know-how" kısmını anlamadım. Yeni bir bilgisayar almamak konusunda nasıl vasıfsız olabilirsiniz? Ya da yaparsanız, birlikte verilen tarayıcıyı yüklemediği ve bunun yerine eski bir tarayıcı kullanmadığı için yanlış kullanma? :)
haylem

2

Javascript aktifken herhangi bir web sitesi Bilgisayarımda kod yürütebilir. Bilmiyorum, eğer belirli bir web sitesi kod çalıştırırsa ve ne yaparsa yapsın. Daha da kötüsü, başkaları benim bilgim olmadan normal zararsız bir web sitesine (XSS) kod ekleyebilir. Son zamanlarda tanınmış bir Alman bilgisayar magazin bir makale yapamadı, 16 yaşındaki bir almanya'daki en yaygın bankaların çevrimiçi bankacılık sitelerini denedi. Birçoğu - en büyüğü de dahil olmak üzere - XSS için savunmasızdı. Ve hatta, çevrimiçi bankacılık sitenizin, örneğin hedefi ve bir işlemin tutarını değiştiren bir Javascript çalıştırdığını farketmiyorsunuz bile. Devre dışı Javascript ile XSS saldırısı güvenilir bir site bağlamında işe yaramaz, kötü amaçlı kod yürütmem.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.