it-swarm.dev

JavaScript'in zarif bir şekilde bozulması ne kadar önemlidir?

Web geliştiricileri, web uygulamalarımızı JavaScript ile aşamalı olarak geliştirmek için çaba göstermeye devam etmeli mi, bu özelliklerin önemli ölçüde bozulmasını sağlayarak erişilebilirliği sağlıyor mu? Yoksa o zamanı yeni özelliklere veya diğer gelişim alanlarına odaklanarak mı harcamalıyız?

Bu sorunun alt metni şu şekildedir: Kaç müşteri/müşteri/kullanıcı web sitelerimizi veya JavaScript devre dışı bırakılmış uygulamalarımızı kullanıyor? Özellikle JavaScript işlevselliği gerektiren (neredeyse benimkilerin hepsi) gereksinimleri olan herhangi bir projeniz var mı ve bu gereksinimler de zarif bir düşüş gerektiriyor mu?

Bu soruyu sormak uğruna, JavaScript etkinleştirilmeden programmers.stackexchange.com'u kaldırdım ve şu mesajla karşılaştım: "Programcılar - Stack Exchange JavaScript etkinken en iyi şekilde çalışır". Sitenin genellikle iyi çalışmasına rağmen, giriş yapmak zordu. (Herhangi bir soruya oy veremedim.)

Bence bu kalkınmaya tatmin edici bir yaklaşım. Sitenin tüm özelliklerinin eski HTML ve sunucu tarafı mantığıyla çalışmasını sağlamaya çalıştığınızı düşünün. Öte yandan, bu yaklaşımla kaç kullanıcının yabancılaştığını merak ediyorum.

Aşamalı geliştirmeyi kullanmak ve web uygulamalarımızın dinamik özelliklerinin zarif bir şekilde bozulmasını sağlamak için hepimiz (en azından aramızdaki iyi geliştiriciler) eğitildik. Bu aşamalı iyileştirme sadece rüzgâra mı giriyor, yoksa bazı müşterilerimiz JavaScript etkinleştirilmeden bazı web hizmetlerini kullanıyor mu?

89
Stephen

NoScript kullanıyorum, ancak kullanmak istediğim herhangi bir siteyi beyaz listeye ekliyorum.

NoScript, JavaScript, Java, Flash Silverlight ve muhtemelen diğer yürütülebilir içerikleri yüklediğinizde varsayılan olarak engellenir. Güvendiğiniz sitelerde seçmeli olarak izin ver JavaScript/Java/... yürütme yapabileceksiniz. Bir siteyi sık sık ziyaret ettiğinizde ve gerçekten güvendiğinizde, rastgele veya kalıcı olarak sörf yapıyorsanız, bir sitenin komut dosyalarını geçici olarak çalıştırmasına izin verebilirsiniz. Bu, NoScript'in kendi tarayıcı alışkanlıklarınızdan öğrendiği ve bir süre sonra arka planda kaybolma eğiliminde olduğu anlamına gelir, ancak kötü amaçlı bir web sayfasına rastlarsanız hemen gününüzü kurtarmak için geri döner.

Engellenen komut dosyaları içeren bir siteye göz attığınızda, açılır pencere engelleyicisi tarafından yayınlananlara benzer bir bildirim gösterilir.
Geçerli NoScript izinlerini öğrenmek için ona veya durum çubuğu simgesine bakın ...

http://noscript.net/noscript/ss0.png

52
John Straka

JavaScript açık olmayan kişilerin yüzdesinin ihmal edilebilir olduğunu düşünüyorum. Ancak arama motoru botlarına dikkat edin! Genellikle JavaScript kullanmazlar, ancak bundan dolayı bazı önemli içeriklerinizi atlamalarını istemezsiniz, değil mi?

93

Her zaman JavaScript etkin olarak göz atıyorum ve web tarayıcısının başlangıcından beri var.

Bir zamanlar tarayıcı deneyimimi düşürmeye değecek tek bir sorunum olmadı. Belki birkaç pop-up veya diğer sıkıntılar, ancak faydalar bence risklerden çok daha ağır basmaktadır.

47
JohnFx

Linux'ta konsolu kullanırken bazen GUI olmadığında Lynx kullanıyorum. Bildiğim kadarıyla lynx'in JavaScript desteği yok.

Ayrıca, herhangi bir JavaScript desteği varsa zayıf olan eski mobil tarayıcıları da kullandım.

Ancak bu şartlar altında siteden tam kullanılabilirlik beklemiyorum. Genellikle hızlı bir şekilde aramak için interneti kullanıyorum (örn. Telefon numarası al). Bu nedenle sitenizin JavaScript olmayan arayüzünün pasif bir referans rolü ile sınırlı olması gerektiğini düşünüyorum. Stack Exchange bunun harika bir örneğidir, cevaplara bakabilirsiniz, ancak oy kullanamazsınız. Sadece referans olarak kullanılacak.

23
Adam

Evde veya ofiste olmadığımda düzenli olarak akıllı telefonumun web tarayıcısından internette dolaşıyorum. JavaScript'i (en azından bir alt kümesini) desteklese de, her zaman iyi işlemez. Pek çok web sitesini kullanılamaz buldum çünkü çok fazla kaynak tüketiyor veya tarayıcıyı çökertiyorlar.

Yerleşik tarayıcıyı tercih ederim, ancak birinin daha iyi bir iş çıkarması durumunda iki alternatif tarayıcıyı saklıyorum.

17
Kenneth Cochran

Bu iş parçacığında bahsedilmeyen bir şey, komut dosyanız bozulursa ne olacağıdır. Çoğu durumda, komut dosyasının sayfa üzerinde daha fazla yürütülmesi devre dışı bırakılabilir, bu nedenle daha basit bir gezinme yoluna geri dönmenin bir yolunu gerektirir.

Bir komut dosyası çeşitli nedenlerle bozulabilir, ancak en belirgin olanları .js dosyaları için tamamlanmamış istekler, DOM'u değiştirebilecek çeşitli eklentiler ( AdBlock , vb.) Veya iyi olmayan nesneler sunabilir. isimalanlı.

Bunun, betiği veya herhangi bir şeyi açıkça devre dışı bırakan insanlarla hiçbir ilgisi yoktur. Bir yan not olarak, birçok modern yönlendirici, güvenlik duvarı yazılımı vb. Genellikle web sitelerinden komut dosyası, Flash vb. Devre dışı bırakma/filtreleme özelliğine sahiptir, bu nedenle kullanıcıyı bundan habersiz bırakan bir ağ katmanında bile yapılandırılabilir (düşünün halka açık kafeler, okullar veya diğer paranoyak kişilerin İnternet erişimini yapılandırdığı diğer ortamlar).

Bu genellikle, en azından sitenin temel işlevselliğiyle (düzen ve gezinme) zarif bir şekilde bozulan siteler geliştirmek için ana argümanımdır.

13
jishi

JavaScript'i devre dışı bıraktığım tek şey kendi web sitemi test etmektir. Ancak, Yahoo'nun kullanıcıların% 1-2'si arasında JavaScript'in devre dışı olduğunu tespit ettiği bir study ilginizi çekebilir. Yahoo'nun kitlesi muhtemelen ortalama bir kullanıcının oldukça iyi bir temsilidir.

Çalışmanın önemli bir alıntısı:

ABD ziyaretçilerinin% 2'si çok fazla görünmeyebilir, ancak 300 milyondan fazla kullanıcının Yahoo! ana sayfa her ay. Bu, JavaScript'in yararına her ay 6 milyon kullanıcının ziyaret ettiği anlamına gelir. Bu nedenle, zamanınızı sitenin JavaScript özellikli sürümünde geçirmeye değer olsa da, orada kullanamayan önemsiz sayıda kullanıcı var.

12
VirtuosiMedia

Her zaman NoScript ve AdBlock Plus kullanıyorum.

Bugün web korunmasız çıkmak için çok düşmanca (müdahaleci JavaScript + sinir bozucu reklamlar).

7
user8685

Tabii ki, burada gerçekten çarpık bir örnek alıyorsunuz ve kendi sitenizde kendi araştırmanızı yapmak için daha iyisini yapabilirsiniz.

Şahsen NoScript kullanıyorum. Bir siteyi beyaz listeye eklemek için nadiren isteksizim, ancak bunu yapmak için zamanımın değerinde olması gerekiyor. (Başka bir deyişle, bir nedene ihtiyacım var, ama bunun çok inandırıcı olması gerekmiyor.)

6
David Thornley

Sadece okuyun Pragmatik Programcılar "HTML5 ve CSS3" . Yazar, kullanıcıların% 5'inin JavaScript'in kapalı olduğunu söylüyor.

Kaynağı: AB ve ABD JavaScript Devre Dışı Dizin numaraları + Web Analytics veri toplama etkisi .

JavaScript Devre Dışı Bırakılmış Dizin numaraları

AB:% 1.4
ABD:% 3,05

Kaynak: IndexTools kullanarak birden çok endüstri web sitesinde 1.000.000.000 ziyaret.
(VisualRevenue.com/blog - Dennis R. Mortensen)

http://visualrevenue.com/media/uploaded_images/JavaScript-Disabled-735171.JPG

Yüzde de düşüyor gibi görünüyor.

5
Peter Turner

Veya bazılarımız aslında JavaScript etkinleştirilmeden belirli web hizmetlerini kullanıyor mu?

Evet.

Göz atmam üç kategoriye ayrılıyor.

Normal Tarama - Safari'de veya Chrome (Mac OS X)
- iGoogle, Yığın Taşması, bazı bloglar

Özelweb siteleri: - Firefox, NoScript, AdBlock Plus ve FlashBlock ile
Gereksiz derecede ağır JavaScript'e sahip siteler. (Bollywood filmleri/müziği için bazı Hint siteleri, eğer önemliyse. Gereksiz derecede ağır komut dosyası - sayfanın kendisi her 5 dakikada bir yeniden yüklenir

Mobil Tarama:
Eskiden Nokia 5310'um vardı. Kaybettim. Şimdi daha eski bir Sony Ericsson W700i var. Ben seyahat ederken kullanarak göz (Opera Mini oldukça iyi). Burası (yokluğu) JavaScript bir acıdır. Siteyle etkileşime girmek istemiyorum (çoğunlukla), sadece okuyun. Hala sitelerin çoğu görüntülemek imkansız .

5
Nivas

NoScript ve yalnızca güvendiğim beyaz liste sitelerini kurma eğilimindeyim. Aksi takdirde, gerektiğinde belirli alanlar için "geçici olarak izin ver" i kullanıyorum.

Bu sadece iyi bir güvenlik. Aksi takdirde, makinenizde rasgele bir kod çalıştırılmasına izin veriyorsunuz! Korumalı alanda olsa bile ... her zaman güvenlik açıkları vardır.

Kendi alışkanlıklarımın ötesinde, çoğu kişi JavaScript'e göz atsa bile, aşamalı iyileştirme göz önünde bulundurularak siteler geliştirmek hala yararlıdır. Siteniz başlangıçta işlevselse en geniş kitleye hizmet verebilir. Ayrıca verilerinizi görsel tasarımdan ve iş mantığından ayırmanız anlamına gelir. İstemci tarafında JavaScript ile yaptığınız şeylerin çoğu yine de sunucu tarafında yapılmalıdır - bunu istemci tarafında yapmak sadece sitenin bir kullanıcısına verilen kolaylık olmalıdır.

Elbette JavaScript gerektirecek istisnalar vardır, ancak genellikle bir beklenti vardır. Örneğin, BioLab Disaster , bir oyun için JavaScript'i etkinleştirmek, ancak A List Apart , çoğunlukla metin.

Bir formu doldururken, formu göndermek için JavaScript’in etkinleştirilmiş olması beklentisi olmalı mı? Neden? Böylece JavaScript kodu, harf yerine bir sayı girmediğimden emin olmak için kontrol edebilir mi?

4
pbdiode

Bence erişilebilirlik hemen hemen her şeyi etkiliyor. Yardımcı teknolojiye güvenen kullanıcılar, biraz daha uzun sürse bile, bir sitenin işlevlerinden her zaman yararlanabilmelidir. Kullanıcıların yüzde kaçının önemli olduğuna güvenmesi önemli değil. Erişilebilirliğin ana odak noktalarından biri olduğu açık kaynaklı bir web projesini kodladığım için mutluyum ve aslında her şeyi her iki şekilde de nasıl yapabileceğimi öğreniyorum - JavaScript ile ve JavaScript olmadan. (Ve erişilebilirlikle ilgili diğer birçok şey, çünkü JavaScript veya değil gerçekten sorunun sadece küçük bir kısmıdır.)

Az önce bahsettiğim proje kullanıcılarından hangi teknolojiyi kullandıklarına cevap veren ilginç bir anket var burada . İlginizi çekebilir.

3
pyvi

Google Chrome + AdBlock Plus'ı kullanıyorum ve JavaScript'i açtım.

EDIT: Şimdi NotScript kullanıyorum. :)

Chrome ALONE neredeyse tüm pop-up'ları engelliyor (sadece bir kez ortaya çıkan tek bir site [Chess.com] buldum) ve AdBlock tüm reklamlardan kurtuldu, bu yüzden bunlarla ilgili hiçbir sorunum yok.

IMO, JavaScript size genel olarak "daha iyi bir deneyim" sağlar ve güvenilir siteleri (saldırıya uğramamış ...) ziyaret ettiğiniz sürece, sorun olmaz. "Bilgisayar adamları"/geliştiricileri olarak, çok keskin bir "internet anlayışına" sahip olmamız ve bir sitenin kötü amaçlı olup olmadığını anlayabilmemiz gerektiğine inanıyorum.

3
Mateen Ulhaq

Windows Server kutusunda Javascript devre dışı bırakılmıştır varsayılan olarak. BT politikamız çok fazla siteyi engelliyor, bazı içerikleri okumanın tek yolu, varsayılan olarak JS'nin devre dışı bırakıldığı bir sunucuda sörf yapmaktır.

Tercih ettiğim yapılandırma olmasa da, bazen yapmam gereken şey bu.

3

Hmm, şimdi Omega Man gibi hissediyorum. :) Görünüşe göre ben aslında JavaScript (ve çerezler) kapalı çeviren son kişi. (Örneğin, Yığın Taşması gibi belirli bir site için buna ihtiyacım yoksa.)

Çok eksik olduğumdan şüpheliyim - genellikle bir site için JavaScript'i açtığımda do bir şey yapar tamamen işe yaramaz, örneğin tonlarca konuşmama izin ver kişisel bilgileri toplam yabancılara ya da bana bazı hareketli reklamlar gösteriyor - tam istediğim, bir makale okumaya konsantre olmaya çalışırken ekranda rastgele bir hareket ...

2
Cyclops

Yaparım. NoScript sonuna kadar. Tarayıcılar korumalı alandayken bırakacağım, daha önce değil.

2
Satanicpuppy

AskUbuntu.com'daki bir soruyu yeni yanıtladım - sitede (geçici olarak - şu anda) JavaScript'i etkinleştirmem gerekiyordu. Açık olduğunu düşündüğümde NoScript kullanıyorum ve bir site için JavaScript'i etkinleştiriyorum - ancak kadar değil. Varsayılan olarak, daha önce ziyaret etmediğim siteler için JavaScript kapalıdır.

2

İnsanlar bu karar hakkında ikili gibi konuşmaya devam ediyor. Ya incelikle yıkılırsınız ya da yıkılmazsınız. Bunun yerine, neden her bir özellik için incelikle indirilmenin maliyetlerine ve faydalarına bakmıyorsunuz? Örneğin, sitenin temel işlevlere sahip olduğundan emin olabilirsiniz ancak yine de birisinin belirli özellikleri kullanması için Javascript gerekir.

Ayrıca Javascript'i devre dışı bırakan birçok kişinin bunu yaptığına dikkat edin çünkü sadece çıplak temelleri olan hafif, soyulmuş bir web sitesi kullanmak istiyorlar. Bunca zaman, özellikle onlardan kaçınmaya çalışan kullanıcılar için çanlarınızı ve ıslıklarınızı çalıştırarak harcayabilirsiniz.

İnsanlar incelikle yıkılmanın çok fazla iş olduğundan şikayet ediyorlar. Ne kadar iş olduğundan şikayet ediyorsanız, muhtemelen Javascript gerektirmeye değer bir özellik üzerinde çalışıyorsunuzdur.

Javascript içermeyen kullanıcıların her zaman sitede gezinebilmeleri, iletişim sayfasını kullanabilmeleri ve sahip olduğunuz makaleleri veya blog gönderilerini okuyabilmeleri gerekir. Daha karmaşık işlevsellikler için, yapılan işe karşı faydaya dayanan bir karar çağrısı yapın.

2
lala

Web sitesi stratejisi ve planlaması duruma özgü. Yani, bir web sitesinin IE tarayıcıyı desteklemesine hiç gerek kalmayabilir, bırakın sınır yarıçapı CSS3 gibi küçük sorunları düşünelim. Ancak diğer web sitelerinin IE6'ya kadar geriye dönük olarak uyumlu olması gerekebilir.

Bir web sitesi için ne planlamamız gerektiğini nasıl anlayabiliriz? Kısmen deneyimlerimizden. Programcıları ve geliştiricileri hedefleyen web siteleri, kullanıcılarının neredeyse tüm özellikleri açıkken oldukça yeni ve güncellenmiş tarayıcılar kullandığından emin olabilir. Bununla birlikte, haber web siteleri, dünyanın bilinmeyen bir noktasından birinin kendi ülkesinden neler geçtiğini görmek için web sitelerine bağlanabileceğini düşünmelidir.

Ancak, deneyimimizin ve sezgimizin yanı sıra, web sitemize bir tür analytics hizmet yüklememiz gerekiyor, böylece gelecekteki kararlarımız istatistiksel verilere dayanarak daha sağlam olacak. Örneğin, Google Analytics çok iyi bir araçtır. Oradan, eski tarayıcıları gerçekten desteklemeniz gerekip gerekmediğini görebilirsiniz.

Ancak, W3C'nin Web Erişilebilirlik Yönergeleri'ne uymak istiyorsak, siteye özgü koşulları dikkate almadan kesinlikle birçok şeyi desteklemeliyiz.

Özel durumunuzda hayır diyorum. Küçük ve orta düzey web sitelerinde komut dosyası kullanmadan güvenle unutabiliriz. Ancak daha büyük projeler için, sayfalarınıza biraz daha fazla işaret eklemek kötü bir fikir değildir.

1
Saeed Neamati

Siteniz engelli kişiler tarafından kullanılabiliyorsa, JavaScript'e yedek olduğundan emin olmak iyi bir fikirdir.

1
nkassis

Sadece Pr0n (kötü mahalle!) ;-) gözatın

Her şey çok fazla kırıldığı için düzenli tarama için kapatmaya çalışmayı bıraktım. Ve bazen tekrar açana kadar kırıldığını bile bilmiyorum.

1
nate c

Çerezleri unutma. Çerezlerin JavaScript'ten daha tehlikeli olduğunu düşünüyorum. Eskiden NoScript kullanıcısıydım, ancak çerez sitelerini beyaz listeye eklemek için kapattım.

0
Brad Clawsie

Bu konudaki bazı cevapların komik mi yoksa ciddi mi olduğuna karar veremiyorum: çerezler javascript'ten daha tehlikeli mi? LOL

Herhangi bir site js ve çerezler kapalı test edilmelidir, ancak bu minimum imho.

0
wildpeaks

Her zaman JavaScript'im açık. Yanımda her zaman minimum geri yükleme setim var.

JavaScript'in devre dışı bırakılması için vetoya ihtiyacımız var, bu yüzden "uyarı yok, yönlendirme yok, web soketi yok" diyebilirim. İşlevsellik en azından WebKit içinde, konsoldan ve çeşitli denetçilerden yola çıkarak.

Ancak evet, her zaman JavaScript açık. Temelde insanlar çok geçmeden web soketlerini kullanacaklar çünkü tıpkı Flash "havalı" VM'yi aldığında ne olduğu gibi her türlü kötülüğü yok etmek için. Sonra JavaScript'i kapatacağım. Bana izin verirlerse.

Mümkün olduğu kadar iyi olanın tadını çıkarmak istiyorum. Bu dönemin hoş anılarım var. Etkilenmek istiyorum, JavaScript folig'e kıkırdamak istiyorum, çünkü 2007'de geri döndüklerimizi gerçekten özlüyorum, kaynak suyu, her yerde açık kaynaklar gibi ücretsiz tatlı bilgi akışı.

Yapmam gerekene kadar kapatmayacağım.

0
chiggsy

Canlı bir CD/DVD'den (fiziksel olarak veya VM'de) önyükleme yapmak, Flash ve JavaScript'in işlerini yapmalarına izin verme konusunda çok daha iyi hissetmemi sağlıyor. Eğer doğru hatırlıyorsam Linux Mint kutunun dışında Flash desteği var.

Site geliştirmeyle ilgili olarak, genellikle JavaScript'te makul miktarda div takası ve menüler yaparım, ancak her şeyin doğru görünmesini ve temel olarak CSS ile çalışmasını sağlamaya çalışıyorum.

0
RobotHumans

Yalnızca müşteri açıkça isterse

Etkilenecek çok sayıda kullanıcınız yoksa, bu sadece ekstra çaba gerektirir.

0
Darknight