it-swarm-eu.dev

Wie wichtig ist eine ordnungsgemäße Verschlechterung von JavaScript?

Sollten Webentwickler weiterhin Anstrengungen unternehmen, um unsere Webanwendungen schrittweise mit JavaScript zu verbessern und sicherzustellen, dass die Funktionen ordnungsgemäß beeinträchtigt werden, wodurch die Zugänglichkeit gewährleistet wird? Oder sollten wir diese Zeit auf neue Funktionen oder andere Entwicklungsbereiche konzentrieren?

Der Untertext dieser Frage wäre: Wie viele unserer Kunden/Kunden/Benutzer nutzen unsere Websites oder Anwendungen mit deaktiviertem JavaScript? Haben Sie Projekte mit Anforderungen, die speziell JavaScript-Funktionalität erfordern (fast alle von mir), und erfordern diese Anforderungen auch eine ordnungsgemäße Verschlechterung?

Um diese Frage zu stellen, habe ich programmers.stackexchange.com ohne aktiviertes JavaScript aufgerufen und wurde mit der folgenden Meldung begrüßt: "Programmierer - Stack Exchange funktioniert am besten mit aktiviertem JavaScript". Es war schwierig, sich anzumelden, obwohl die Website im Allgemeinen in Ordnung zu sein schien. (Ich konnte keine Fragen beantworten.)

Ich denke, dies ist ein zufriedenstellender Ansatz für die Entwicklung. Stellen Sie sich vor, wie viel Aufwand erforderlich ist, damit alle Funktionen der Site mit einfachem altem HTML und serverseitiger Logik funktionieren. Andererseits frage ich mich, wie viele Benutzer durch diesen Ansatz entfremdet wurden.

Wir wurden alle geschult (zumindest die guten Entwickler unter uns), um progressive Verbesserungen zu verwenden und sicherzustellen, dass sich die dynamischen Funktionen unserer Webanwendungen ordnungsgemäß verschlechtern. Pisst diese fortschreitende Verbesserung nur in den Wind oder nutzen einige unserer Kunden tatsächlich bestimmte Webdienste ohne aktiviertes JavaScript?

89
Stephen

Ich verwende NoScript , aber liste jede Site auf, die ich tatsächlich verwenden möchte.

Wenn Sie NoScript installieren, werden JavaScript, Java, Flash Silverlight und möglicherweise andere ausführbare Inhalte standardmäßig blockiert . Sie können die Ausführung von JavaScript/Java/... selektiv auf den Websites zulassen, denen Sie vertrauen. Sie können einer Site erlauben, Skripte vorübergehend auszuführen, wenn Sie nur zufällig oder dauerhaft surfen, wenn Sie sie häufig besuchen und ihr wirklich vertrauen. Dies bedeutet, dass NoScript aus Ihren eigenen Browsergewohnheiten lernt und nach einer Weile im Hintergrund verschwindet. Wenn Sie jedoch auf eine schädliche Webseite stoßen, wird es sofort wieder angezeigt, um Ihren Tag zu retten.

Wenn Sie eine Site mit blockierten Skripten durchsuchen, wird eine Benachrichtigung angezeigt, die der vom Popupblocker ausgegebenen ähnelt.
Sehen Sie sich das Symbol oder das Statusleistensymbol an, um die aktuellen NoScript-Berechtigungen zu erfahren ...

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

52
John Straka

Ich denke, der Prozentsatz der Leute ohne aktiviertes JavaScript ist vernachlässigbar. Aber seien Sie vorsichtig mit Suchmaschinen-Bots! Normalerweise verwenden sie kein JavaScript, aber Sie möchten nicht, dass sie aus diesem Grund wichtige Inhalte von Ihnen überspringen, oder?

93

Ich surfe immer mit aktiviertem JavaScript und habe seit den Anfängen des Webbrowsers.

Ich hatte noch nie ein einziges Problem, bei dem es sich gelohnt hat, meine Browser-Erfahrung zu beeinträchtigen. Vielleicht ein paar Popups oder andere Belästigungen, aber die Vorteile überwiegen meiner Meinung nach bei weitem die Risiken.

47
JohnFx

Wenn ich die Konsole unter Linux benutze, verwende ich manchmal Lynx , wenn keine GUI verfügbar ist. Nach meinem besten Wissen hat lynx überhaupt keine JavaScript-Unterstützung.

Ich habe auch ältere mobile Browser mit schlechter JavaScript-Unterstützung verwendet.

Unter diesen Umständen erwarte ich jedoch keine vollständige Benutzerfreundlichkeit der Website. Normalerweise benutze ich nur das Internet, um schnell etwas nachzuschlagen (z. B. eine Telefonnummer zu erhalten). Daher denke ich, dass die Nicht-JavaScript-Oberfläche Ihrer Site auf eine passive Referenzrolle beschränkt sein sollte. Stack Exchange ist ein gutes Beispiel dafür. Sie können Antworten nachschlagen, aber nicht abstimmen. Es ist nur da, um als Referenz verwendet zu werden.

23
Adam

Ich surfe regelmäßig über den Webbrowser meines Smartphones im Internet, wenn ich nicht zu Hause oder im Büro bin. Obwohl es (zumindest eine Teilmenge von) JavaScript unterstützt, kann es nicht immer gut damit umgehen. Ich habe festgestellt, dass viele Websites unbrauchbar sind, weil sie entweder zu viele Ressourcen verbrauchen oder einfach den Browser zum Absturz bringen.

Ich bevorzuge den eingebauten Browser, aber ich behalte zwei alternative Browser, falls einer von ihnen einen besseren Job macht.

17
Kenneth Cochran

Eine Sache, die in diesem Thread nicht erwähnt wurde, ist, was passiert, wenn Ihr Skript kaputt geht. In vielen Fällen kann die weitere Ausführung des Skripts auf der Seite deaktiviert sein, sodass auf eine einfachere Art der Navigation zurückgegriffen werden kann.

Ein Skript kann aus verschiedenen Gründen beschädigt werden, aber die offensichtlichsten sind unvollständige Anforderungen für die .js-Dateien, verschiedene Addons, die das DOM ändern können ( AdBlock usw.) oder Objekte einführen, die nicht gut sind Namespace.

Dies hat nichts damit zu tun, dass Leute das Skript oder was auch immer explizit deaktivieren. Nebenbei bemerkt, viele moderne Router, Firewall-Software usw. verfügen häufig über eine Funktion zum Deaktivieren/Herausfiltern von Skripten, Flash usw. von Websites, sodass sie möglicherweise sogar auf einer Netzwerkebene konfiguriert werden, sodass der Benutzer dies nicht bemerkt (denken Sie daran) öffentliche Cafés, Schulen oder andere Umgebungen, in denen andere paranoide Menschen den Zugang zum Internet konfiguriert haben).

Dies ist normalerweise mein Hauptargument für die Entwicklung von Websites, die sich zumindest mit der Grundfunktionalität der Website (Layout und Navigation) elegant verschlechtern.

13
jishi

Das einzige, wofür ich JavaScript deaktiviere, ist das Testen meiner eigenen Website. Möglicherweise interessieren Sie sich jedoch für eine Studie , die Yahoo durchgeführt hat und bei der festgestellt wurde, dass zwischen 1-2% der Benutzer JavaScript deaktiviert haben. Das Publikum von Yahoo ist wahrscheinlich eine ziemlich gute Darstellung des durchschnittlichen Benutzers.

Ein Schlüsselzitat aus der Studie:

Während 2% der US-Besucher nicht viel zu sein scheinen, denken Sie daran, dass über 300 Millionen Benutzer die Yahoo! Homepage jeden Monat. Das bedeutet, dass jeden Monat 6 Millionen Benutzer ohne JavaScript besuchen. Auch wenn es sich lohnt, Ihre Zeit mit der JavaScript-fähigen Version der Website zu verbringen, gibt es immer noch eine nicht triviale Anzahl von Benutzern, die sie nicht verwenden können.

12
VirtuosiMedia

Ich benutze ständig NoScript zusammen mit AdBlock Plus .

Das Web ist heute zu feindselig (aufdringliches JavaScript + nervige Anzeigen), um ungeschützt zu sein.

7
user8685

Natürlich erhalten Sie hier eine wirklich verzerrte Stichprobe, und Sie sollten Ihre eigenen Recherchen auf Ihrer eigenen Website durchführen.

Ich persönlich benutze NoScript. Ich zögere selten, eine Website auf die Whitelist zu setzen, aber es muss sich lohnen, dies zu tun. (Mit anderen Worten, ich brauche einen Grund, aber es muss nicht sehr überzeugend sein.)

6
David Thornley

Lesen Sie einfach Pragmatische Programmierer "HTML5 und CSS3" . Der Autor sagt, 5% der Benutzer haben JavaScript deaktiviert.

Hier ist seine Quelle: EU- und US-JavaScript-deaktivierte Indexnummern + Auswirkungen auf die Web Analytics-Datenerfassung .

JavaScript deaktiviert Indexnummern

EU: 1,4%
USA: 3,05%

Quelle: 1.000.000.000 Besuche in verschiedenen Branchen-Web-Eigenschaften mithilfe von IndexTools.
(VisualRevenue.com/blog - Dennis R. Mortensen)

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

Es sieht so aus, als würde auch der Prozentsatz sinken.

5
Peter Turner

Oder nutzen einige von uns tatsächlich bestimmte Webdienste ohne aktiviertes JavaScript

Ja.

Mein Surfen fällt in drei Kategorien.

Normales Surfen - Auf Safari oder Chrome (Mac OS X)
- iGoogle, Stapelüberlauf, einige Blogs

SpecialWebsites: - Firefox mit NoScript, AdBlock Plus und FlashBlock
Websites mit unnötig schwerem JavaScript. (Einige indische Websites für Bollywood-Filme/Musik, falls dies wichtig ist. Unnötig schweres Skript - die Seite selbst wird etwa alle 5 Minuten neu geladen.)

Mobile Browsing :
Früher hatte ich ein Nokia 5310. Ich habe es verloren. Jetzt habe ich ein noch älteres Sony Ericsson W700i. Ich surfe damit, wenn ich unterwegs bin (Opera Mini ist ziemlich gut). Dies ist der Ort (das Fehlen von) JavaScript ist ein Schmerz. Ich möchte (meistens) nicht mit der Site interagieren, sondern nur lesen. Dennoch sind die meisten Websites nicht sichtbar .

5
Nivas

Ich neige dazu, NoScript und nur Whitelist-Sites zu installieren, denen ich vertraue. Ansonsten verwende ich das "vorübergehend zulassen" für bestimmte Domains, wenn ich muss.

Das ist nur gute Sicherheit. Andernfalls können Sie eine beliebige Menge Code auf Ihrem Computer ausführen! Auch wenn es eine Sandbox ist ... es gibt immer Schwachstellen.

Abgesehen von meinen eigenen Gewohnheiten ist es auch dann nützlich, Websites mit fortschreitender Verbesserung zu entwickeln, wenn die meisten Leute mit JavaScript surfen. Wenn Ihre Site zu Beginn funktionsfähig ist, kann sie die größte Zielgruppe bedienen. Dies bedeutet auch, dass Sie Ihre Daten vom visuellen Design und von der Geschäftslogik trennen. Das meiste, was Sie mit JavaScript auf der Clientseite tun, sollte sowieso auf der Serverseite erfolgen - dies auf der Clientseite sollte nur eine Annehmlichkeit sein, die einem Benutzer der Site geboten wird.

Natürlich gibt es Ausnahmen, für die JavaScript erforderlich ist, aber im Allgemeinen besteht eine Erwartung. Zum Beispiel wird erwartet, JavaScript für BioLab Disaster , ein Spiel, zu aktivieren, aber keines für eine Site wie A List Apart , meistens nur Text.

Sollte beim Ausfüllen eines Formulars wirklich erwartet werden, dass JavaScript zum Senden des Formulars aktiviert ist? Warum? Damit der JavaScript-Code überprüfen kann, ob ich anstelle eines Buchstabens eine Zahl eingegeben habe?

4
pbdiode

Meiner Meinung nach übertrifft die Zugänglichkeit fast alles andere. Benutzer, die sich auf unterstützende Technologie verlassen, sollten immer in der Lage sein, die meisten Funktionen einer Site zu nutzen, auch wenn dies möglicherweise etwas länger dauert. Es spielt keine Rolle, wie viele Prozent der Benutzer sich darauf verlassen, um eine Rolle zu spielen. Ich bin froh, dass ich für ein Open-Source-Webprojekt programmiere, bei dem die Barrierefreiheit einer der Hauptschwerpunkte ist, und ich lerne tatsächlich, wie ich Dinge in beide Richtungen realisieren kann - mit und ohne JavaScript. (Und viele andere Dinge im Zusammenhang mit der Barrierefreiheit, weil JavaScript oder nicht wirklich nur ein kleiner Teil des Problems ist.)

Es gibt einen interessanten Fragebogen, der Antworten von Benutzern des Projekts enthält, die ich gerade erwähnt habe, welche Technologie sie verwenden hier . Es könnte für Sie von Interesse sein.

3
pyvi

Ich verwende Google Chrome + AdBlock Plus und habe JavaScript aktiviert.

EDIT: Ich benutze jetzt NotScript . :) :)

Chrome ALONE blockiert fast alle Popups (ich habe nur eine Website [Chess.com] gefunden, die einmal durchgebrochen ist), und AdBlock entfernt alle Anzeigen, sodass ich mit diesen keine Probleme habe.

IMO, JavaScript bietet Ihnen insgesamt eine "bessere Erfahrung". Solange Sie vertrauenswürdige Websites besuchen (die nicht gehackt wurden ...), geht es Ihnen gut. Als "Computer-Leute"/Entwickler sollten wir meiner Meinung nach einen sehr ausgeprägten "Internet-Sinn" haben und in der Lage sein, zu erkennen, ob eine Website bösartig ist.

3
Mateen Ulhaq

Javascript ist deaktiviert standardmäßig für diejenigen von uns auf einer Windows Server-Box. Unsere IT-Richtlinie blockiert so viele Websites. Die einzige Möglichkeit, Inhalte zu lesen, besteht darin, auf einem Server zu surfen, auf dem JS standardmäßig deaktiviert ist.

Obwohl es nicht meine bevorzugte Konfiguration ist, muss ich es manchmal tun.

3

Hmm, jetzt fühle ich mich wie der Omega Man . :) Anscheinend bin ich die letzte Person, die tatsächlich JavaScript (und Cookies) ausschaltet . (Es sei denn, ich benötige es für eine bestimmte Site wie z. B. Stapelüberlauf.)

Ich bezweifle, dass mir viel fehlt - normalerweise, wenn ich JavaScript für eine Site einschalte, macht es etwas völlig nutzloses, wie Erlauben Sie mir, Tonnen von persönlichen Informationen an völlig Fremde weiterzugeben, oder zeigen Sie mir einige bewegende Anzeigen - genau das, was ich wollte, eine zufällige Bewegung auf dem Bildschirm, während ich mich auf das Lesen eines Artikels konzentrieren möchte ...

2
Cyclops

Ich mache. NoScript den ganzen Weg. Ich werde aufhören, wenn die Browser in einer Sandbox sind, und nicht vorher.

2
Satanicpuppy

Ich habe gerade eine Frage auf AskUbuntu.com beantwortet - ich musste (vorübergehend - im Moment) JavaScript auf der Website aktivieren. Ich benutze NoScript und aktiviere JavaScript für eine Site, wenn ich es für klar halte - aber erst, wenn. Standardmäßig ist JavaScript für Websites deaktiviert, die ich zuvor noch nicht besucht habe.

2

Die Leute reden immer über diese Entscheidung, als ob sie binär wäre. Sie verschlechtern sich entweder anmutig oder Sie tun es nicht. Warum betrachten Sie stattdessen nicht die Kosten und den Nutzen einer angemessenen Verschlechterung für jedes einzelne Merkmal? Sie können beispielsweise sicherstellen, dass die Site über grundlegende Funktionen verfügt, aber dennoch Javascript benötigen, damit jemand bestimmte Funktionen verwenden kann.

Denken Sie auch daran, dass viele Leute, die Javascript deaktivieren, dies tun weil sie eine leichte, abgespeckte Website verwenden möchten, die nur das Nötigste enthält. Sie könnten die ganze Zeit damit verbringen, dass Ihre Schnickschnack für die Benutzer funktioniert, die speziell versuchen, sie zu vermeiden.

Die Leute beschweren sich, dass es so viel Arbeit ist, sich anmutig zu verschlechtern. Wenn Sie sich darüber beschweren, wie viel Arbeit es ist, arbeiten Sie wahrscheinlich an einer Funktion, für die es sich lohnt, Javascript zu benötigen.

Ich bin der Meinung, dass Benutzer ohne Javascript immer in der Lage sein sollten, auf der Website zu navigieren, die Kontaktseite zu verwenden und Ihre Artikel oder Blog-Beiträge zu lesen. Machen Sie für komplexere Funktionen eine Entscheidung, die auf der Arbeit und dem Nutzen basiert.

2
lala

Website-Strategie und Planung ist fallspezifisch. Das heißt, eine Website muss möglicherweise überhaupt nicht IE Browser, geschweige denn über kleinere Probleme wie die Unterstützung von Rahmenradius von CSS3 nachdenken. Andere Websites können dies jedoch tun müssen sogar abwärtskompatibel bis IE6 sein.

Wie können wir verstehen, was wir für eine Website planen müssen? Teilweise aus unserer Erfahrung. Websites, die sich an Programmierer und Entwickler richten, können sicherstellen, dass ihre Benutzer ziemlich neue und aktualisierte Browser mit fast allen aktivierten Funktionen verwenden. Nachrichten-Websites sollten jedoch der Meinung sein, dass jemand von einem unbekannten Punkt der Erde eine Verbindung zu seiner Website herstellen kann, um zu sehen, was in seinem Land passiert.

Neben unserer Erfahrung und Intuition müssen wir auf unserer Website auch eine Art Analytics -Dienst installieren, damit unsere zukünftigen Entscheidungen auf der Grundlage statistischer Daten robuster sind. Zum Beispiel ist Google Analytics ein sehr gutes Tool. Von dort aus können Sie sehen, ob Sie ältere Browser wirklich unterstützen müssen oder nicht.

Wenn wir jedoch die Richtlinien für Barrierefreiheit im Internet von W3C befolgen möchten, sollten wir auf jeden Fall viele Dinge unterstützen, ohne die standortspezifischen Umstände zu berücksichtigen.

In Ihrem speziellen Fall sage ich das nein. Auf kleinen und mittleren Websites können wir sicher vergessen, dass kein Skript vorhanden ist. Bei größeren Projekten ist es jedoch keine schlechte Idee, ein wenig mehr Markup in Ihre Seiten aufzunehmen.

1
Saeed Neamati

Wenn Ihre Website von Menschen mit Behinderungen verwendet werden kann, sollten Sie sicherstellen, dass eine Sicherungskopie von JavaScript vorhanden ist.

1
nkassis

Ich schalte es nur aus, um Pr0n (schlechte Nachbarschaft!) Zu durchsuchen ;-)

Ich habe es aufgegeben, es für das regelmäßige Surfen auszuschalten, weil die Dinge zu viel kaputt waren. Und manchmal weiß ich nicht einmal, dass es kaputt war, bis ich es wieder einschaltete.

1
nate c

Cookies nicht vergessen. Ich halte Cookies für gefährlicher als JavaScript. Ich war früher ein NoScript-Benutzer, habe es jedoch zugunsten der Whitelist-Cookie-Sites deaktiviert.

0
Brad Clawsie

Ich kann mich nicht entscheiden, ob einige Antworten in diesem Thread lustig oder ernst sind: Cookies gefährlicher als Javascript? LOL

Jede Site sollte mit deaktiviertem js und Cookies getestet werden. Dies ist jedoch ein Minimum imho.

0
wildpeaks

Ich habe immer JavaScript aktiviert. Ich habe auch immer mein Minimum Restore Kit an meiner Seite.

Wir brauchen ein Veto für die Deaktivierung von JavaScript, also könnte ich sagen "keine Warnungen, keine Weiterleitungen, keine Websockets". Die Funktionalität ist zumindest in WebKit , gemessen an der Konsole und verschiedenen Inspektoren.

Aber ja, immer JavaScript aktiviert. Hauptsächlich, weil die Leute sehr bald Web-Sockets verwenden werden, um alle möglichen Übel zu verursachen, genau wie es passiert ist, als Flash die "coole" VM bekam. Dann schalte ich JavaScript aus. Wenn sie mich natürlich lassen.

Ich möchte so viel wie möglich vom Guten genießen. Ich habe also einige schöne Erinnerungen an diese Zeit. Ich möchte beeindruckt sein, ich möchte über die JavaScript-Torheiten kichern, weil ich wirklich vermisse, was wir 2007 hatten, freien süßen Informationsfluss wie Quellwasser, offene Quellen überall.

Ich werde es nicht ausschalten, bis ich muss.

0
chiggsy

Wenn ich von einer Live-CD/DVD (physisch oder in einer VM) boote, fühle ich mich viel besser, wenn ich Flash und JavaScript erlaube, ihre Sache zu tun. Wenn ich mich richtig erinnere, hat Linux Mint sofort Flash-Unterstützung.

Was die Site-Entwicklung angeht, mache ich normalerweise eine angemessene Menge an Div-Swapping und Menüs in JavaScript, aber ich versuche, alles richtig aussehen zu lassen und im Grunde mit CSS zu arbeiten.

0
RobotHumans

Nur wenn der Client dies ausdrücklich anfordert

Wenn Sie nicht über eine erhebliche Anzahl von Benutzern verfügen, die betroffen sind, ist dies nur ein zusätzlicher Aufwand.

0
Darknight