it-swarm.dev

Warum deaktivieren Leute JavaScript?

Ich habe gestern eine Frage gestellt Sollte ich mich die Mühe machen, für deaktiviertes JavaScript zu entwickeln? . Ich denke, der Konsens ist: Ja, ich sollte für JavaScript Disabled entwickeln. Jetzt möchte ich nur verstehen, warum Benutzer JS deaktivieren. Es scheint, dass viele Entwickler (ich denke, Leute, die die Fragen beantwortet haben, Entwickler sind) JS deaktivieren. Warum ist das so. Warum deaktivieren Benutzer JS? Aus Sicherheitsgründen? Geschwindigkeit? oder was?

60
Jiew Meng

Man deaktiviert JavaScript in einer Browserumgebung aus folgenden Gründen:

  • Geschwindigkeit & Bandbreite
  • Benutzerfreundlichkeit und Zugänglichkeit
  • Plattformunterstützung
  • Sicherheit

Geschwindigkeit & Bandbreite

Viele Anwendungen verwenden viel zu viel JavaScript für ihr eigenes Wohl ... Müssen Teile Ihrer Benutzeroberfläche durch AJAX Aufrufe ständig aktualisiert werden?). Vielleicht fühlt sich Ihre Benutzeroberfläche großartig und schnell an, wenn Wird mit einer Breitbandverbindung verwendet, aber wenn Sie ein Downgrade auf langsamere Verbindungsgeschwindigkeiten durchführen müssen, wird eine optimierte Benutzeroberfläche bevorzugt. Das Ausschalten von JavaScript ist eine gute Möglichkeit, um zu verhindern, dass dumme Web-Apps die Welt etwa alle 15 Sekunden aktualisieren Kein guter Grund. (Haben Sie sich jemals die Datenmenge angesehen, die Facebook sendet? Es ist beängstigend. Es ist jedoch nicht nur ein JS-Problem, sondern ein Teil davon.).

Wir neigen auch dazu, mehr und mehr der Verarbeitung auf den Client zu verlagern, und wenn Sie minimalistische (oder nur veraltete) Hardware verwenden, ist dies schmerzhaft langsam.

Benutzerfreundlichkeit und Zugänglichkeit

Nicht alle Benutzeroberflächen sollten dynamisch ausgedrückt werden, und vom Server generierte Inhalte sind in vielen Fällen möglicherweise vollkommen akzeptabel. Außerdem möchten manche Leute diese Art von Schnittstellen einfach nicht. Sie können nicht allen gefallen, aber manchmal haben Sie die Chance und die Pflicht, alle Ihre Benutzer gleichermaßen zufrieden zu stellen.

Schließlich haben einige Benutzer Behinderungen, und du sollst sie niemals ignorieren !!!

Die schlimmsten Szenarien sind meiner Meinung nach Regierungswebsites, die versuchen, ihre Benutzeroberflächen zu "modernisieren", um der Öffentlichkeit freundlicher zu erscheinen, aber am Ende einen großen Teil ihrer Zielgruppe zurücklassen. Ebenso ist es schade, wenn ein Universitätsstudent nicht auf die Inhalte seines Kurses zugreifen kann: weil er/sie blind ist und sein Screenreader die Site nicht unterstützt, oder weil die Site so schwer ist und Ad-hoc-Plug-Ins erfordert er/sie kann nicht auf dem überholten Laptop installiert werden, der vor 2 Jahren bei e-bay gekauft wurde, oder erneut, weil er/sie für die Frühlingsferien in ein anderes Land zurückkehrt und die lokalen Bandbreitenbeschränkungen die Nutzlast des nicht bewältigen können Seite? ˅.

Nicht jeder lebt in einer perfekten Welt.

Plattformunterstützung

Dieser Punkt bezieht sich auf die beiden vorherigen und ist heutzutage tendenziell weniger relevant, da Browser JavaScript-Engines einbetten, die um eine Größenordnung effizienter sind als früher, und dies wird immer besser.

Es gibt jedoch keine Garantie dafür, dass alle Ihre Benutzer das Privileg haben, moderne Browser zu verwenden (entweder aufgrund von Unternehmensbeschränkungen - die uns dazu zwingen, antidiluvianische Browser ohne guten Grund zu unterstützen - oder aus anderen Gründen, die möglicherweise gültig sind oder nicht). Wie von "Matthieu M." erwähnt In den Kommentaren müssen Sie daran denken, dass viele Leute immer noch Hardware von geringerer Qualität verwenden und dass nicht jeder das neueste und coolste Smartphone verwendet. Bis heute gibt es immer noch einen erheblichen Teil der Benutzer von Telefonen mit eingebetteten Browsern mit eingeschränkter Unterstützung.

Aber wie gesagt, in diesem Bereich wird es besser. Aber dann müssen Sie sich immer noch an die vorherigen Punkte zu Bandbreitenbeschränkungen erinnern, wenn Sie regelmäßig abfragen (oder Ihre Benutzer erhalten eine schöne Telefonrechnung).

Es ist alles sehr miteinander verbunden.

Sicherheit

Während Sie natürlich denken könnten, dass mit JavaScript nichts besonders Gefährliches getan werden kann, wenn man bedenkt, dass es in einer Browserumgebung ausgeführt wird, ist dies völlig falsch.

Sie erkennen, dass Sie beim Besuch von P.SE und SO automatisch angemeldet werden, wenn Sie in einem anderen Netzwerk angemeldet waren, richtig? Es gibt einige JS darin. Dieses Bit ist jedoch immer noch harmlos. Es werden jedoch einige Konzepte verwendet, die von einigen böswilligen Websites ausgenutzt werden können. Es ist durchaus möglich, dass eine Website JavaScript verwendet, um Informationen über einige Dinge zu sammeln, die Sie während Ihrer Browsersitzung getan haben (oder getan haben) (oder über die früheren, wenn Sie dies nicht tun) Löschen Sie Ihre Sitzungsdaten jedes Mal, wenn Sie Ihren Browser verlassen oder die jetzt üblichen inkognito/privaten Browsermodi ausführlich ausführen, und laden Sie sie dann einfach auf einen Server hoch.

Zu den jüngsten Sicherheitslücken (die zu dieser Zeit in den wichtigsten Browsern funktionierten) gehörte die Möglichkeit, Ihre gespeicherten Eingabeformulardaten zu sammeln (indem Sie auf einer böswilligen Seite Kombinationen für Sie ausprobieren und die vorgeschlagenen Texte für jeden möglichen Start aufzeichnen Buchstabenkombinationen, möglicherweise Angreifern sagen, wer Sie sind, wo Sie arbeiten und leben ) oder Ihren Browserverlauf extrahieren und Gewohnheiten ( Ein sehr kluges Hack macht etwas so Einfaches wie das Einfügen von Links in das DOM der Seite, um der Farbe des Links zu entsprechen und zu sehen, ob er besucht wurde . Sie müssen dies nur in einer ausreichend großen Tabelle bekannter Domainnamen tun. Und Ihr Browser wird schneller in der Verarbeitung von JavaScript, so etwas wird schnell erledigt.)

Vergessen wir außerdem nicht, dass Sie möglicherweise JavaScript verwenden, um einfach auf Ihre offenen Sitzungen auf Remote-Websites zuzugreifen, wenn das Sicherheitsmodell Ihres Browsers fehlerhaft ist oder die von Ihnen besuchten Websites sich nicht ausreichend vor XSS-Angriffen schützen.

JavaScript ist größtenteils harmlos ... wenn Sie es für vertrauenswürdige Websites verwenden. Google Mail. Facebook (vielleicht ... und nicht einmal ...). Google Reader. StackExchange.

Aber ja sicher, JavaScript kann nicht so schlecht sein, oder? Und online gibt es sowieso beängstigendere Dinge zu befürchten. Als ob du denkst, du bist anonym, wenn du wirklich nicht so viel bist , wie das Panopticlick Experiment des [~ # ~] eff [~ # ~] . Dies geschieht teilweise auch mit JavaScript. Sie können sogar ihre Gründe lesen, um JavaScript zu deaktivieren, um Browser-Fingerabdrücke zu vermeiden .


Abgesehen davon kann es durchaus gute Situationen geben, in denen Sie sich nicht um die Unterstützung von JavaScript kümmern müssen. Wenn Sie jedoch eine öffentlich-rechtliche Website anbieten, sollten Sie beide Arten von Kunden akzeptieren. Persönlich denke ich, dass viele moderne Web-Apps und Websites mit dem früheren servergenerierten Inhaltsmodell ohne JavaScript auf der Clientseite genauso gut funktionieren würden, und es wäre immer noch großartig und möglicherweise viel weniger aufwendig.

Ihr Kilometerstand kann je nach Projekt variieren.

81
haylem

Weil es zwei sehr verschiedene Dinge sind, jemandem zu vertrauen, der jeden Morgen einen lustigen Comic schreibt, und jemandem zu vertrauen, der beliebigen Turing-vollständigen Code auf meinem Computer ausführt.

46
Jörg W Mittag

Ich bin kein Webentwickler und verstehe die Funktionsweise des Internets nur mäßig. Dies ist also eine Antwort von einem Benutzer.

Meine Erfahrung lässt mich glauben, dass viele Websites einfach schlecht codiert sind, sei es aus Faulheit oder Unwissenheit: Wenn ich eine Webseite im Grunde statisch wie eine Facebook-Seite anzeigen würde, würde sich meine CPU-Auslastung erhöhen um etwa 15% und drastisch mehr mit mehreren Registerkarten. Schließlich kam es zu einem Punkt, an dem ich nach dem Klicken auf eine Schaltfläche oder einen Link auf eine Antwort warten musste und meine CPU überhitzte und abstürzte.

Auf vielen dieser schlimmsten Straftäter (Websites) ändert sich nichts Sichtbares und es geschieht nichts Interaktives. Ich konnte nur annehmen, dass der Code der Site ständig übermäßige Aktualisierungen, Abstimmungen und Endlosschleifen durchführte.

Dies veranlasste mich, NoScript zu installieren, um meine CPU-Auslastung freizugeben und das Surfen nicht zu einer frustrierenden Aufgabe zu machen .

Das andere wunderbare Add-On, das ich benutze, ist FlashBlock .

16
Mark C

Ich deaktiviere JS aus Geschwindigkeitsgründen. Das Laden von TechCrunch ohne JavaScript mit einem vorbereiteten Cache dauert einige Sekunden. Mit JavaScript dauert es fast 20 Sekunden, mehr, wenn der Cache nicht vorbereitet ist.

Viele Websites sind mit JavaScript aufgebläht, insbesondere Bildergalerien und Commerce-Websites. Wenn Sie dies entfernen, erhalten Sie in den meisten Fällen ein besseres Surferlebnis.

10
Josh K

Für mich dreht sich alles um Sicherheit. Ich verwende Noscript, um bestimmten Websites das Ausführen von Javascript zu ermöglichen, während die meisten dies nicht zulassen.

Am Ende weiß man wirklich nie, wo die Gefahr liegt ( Nobel-Website auf techspot.com infiziert ). Viele Zero-Day-Exploits (und andere) verwenden Javascipt. Das Schließen dieser einen Angriffsstraße fühlt sich wie ein Schritt in die richtige Richtung an.

8
kasterma

Mein Hauptgrund ist, dass es die nervigsten Anzeigen unterdrückt. Ich würde AdBlock Plus lieber nicht verwenden, da dies die Einnahmen für die von mir besuchten Websites beeinträchtigen kann (und ich habe ein oder zwei Websites verwendet, auf denen laut Nutzungsbedingungen keine Anzeigen deaktiviert werden sollten). NoScript begrenzt die potenzielle Unausstehlichkeit von Anzeigen und ich bin bereit, mit den anderen zu leben.

Es gibt auch Sicherheitsaspekte, die sich hauptsächlich auf Anzeigen beziehen, da jede Website, auf der Anzeigen verkauft werden, als potenziell feindlich eingestuft werden muss.

Außerdem weiß ich nicht unbedingt, dass eine Website zwielichtig ist, bevor ich sie besuche. Einige Leute senden gerne Links zu Websites und sind nicht unbedingt ehrlich.

7
David Thornley

Weil Browser früher langsame JavaScript-Implementierungen hatten und zu viele n00b-Webdesigner sie nur für irrelevante Dinge wie Schaltflächen-Rollover verwendeten.

Auf einem schnellen Computer mit einem modernen Browser deaktiviert ihn niemand, der bei klarem Verstand ist, ständig. Das heißt nicht, dass es nicht viele sehr "sicherheitsbewusste" Menschen und andere gibt, die nicht über die Mittel, den Wunsch oder das Know-how verfügen, um einen modernen Browser auf einem schnellen Computer auszuführen ... Es war erst vor kurzem, dass IE6 aufhörte zu sein der beliebteste Browser im Internet!

4
Kevin Cantu

Wenn Javascript aktiviert ist, kann jede Website Code auf meinem Computer ausführen. Ich weiß nicht einmal, ob die jeweilige Website Code ausführt und was sie tut. Schlimmer noch, jemand anderes kann ohne mein Wissen Code in eine normalerweise harmlose Website (XSS) einfügen. Kürzlich hat ein bekanntes deutsches Computermagazin keinen Artikel veröffentlicht, in dem ein 16-Jähriger die Online-Banking-Sites der gängigsten Banken in Deutschland ausprobiert hat. Viele von ihnen - einschließlich der größten - waren für XSS anfällig. Und Sie bemerken nicht einmal, dass Ihre Online-Banking-Site Javascript ausführt, das beispielsweise das Ziel und den Betrag für eine Transaktion ändert. Mit deaktiviertem Javascript ist der XSS-Angriff im Kontext einer vertrauenswürdigen Site nutzlos, ich führe den Schadcode nicht aus.

2
Mnementh