2008-09-30 9 views
34

Ich verstehe, dass die serverseitige Validierung ein absolutes Muss ist, um zu verhindern, dass böswillige Benutzer (oder einfach nur Benutzer, die Javascript deaktivieren) die clientseitige Validierung umgehen. Aber das ist hauptsächlich, um Ihre Anwendung zu schützen, nicht um Wert für diejenigen, die Browser mit deaktiviertem JavaScript laufen zu bieten. Ist es vernünftig anzunehmen, dass Besucher Javascript aktiviert haben und einfach eine unbrauchbare Seite für diejenigen haben, die das nicht tun?Ist es vernünftig anzunehmen, dass meine Besucher JavaScript aktiviert haben?

Antwort

34

Ich suche mit NoScript in Firefox, und es ärgert mich immer, wenn ich Seiten bekomme, die nicht funktionieren. Das heißt - kenne dein Publikum. Wenn Sie versuchen, paranoiden Computer-Sicherheitsexperten gerecht zu werden - gehen Sie davon aus, dass JavaScript möglicherweise nicht aktiviert ist. Wenn Sie sich für eine allgemeine Zielgruppe entscheiden, ist JavaScript wahrscheinlich aktiviert.

+8

"Es ärgert mich immer, wenn ich Seiten bekomme, die nicht funktionieren" - es gibt eine sehr einfache Lösung dafür ... – nickf

+4

Die Realität ist, dass NoScript selbst immer beliebter wird. Nicht viele haben Javascript deaktiviert, aber die Zahl, die _ _konditionell_ irgendwie abgeschaltet hat, ist _growing_, nicht schrumpfend. –

+2

Ich habe es wegen der Annahme inhärent und selbstgerechter Ton abgewählt: Sie entscheiden, keine bestimmte Technologie zu verwenden, und dann ärgern Sie sich, wenn Websites nicht funktionieren? Sie können nur erwarten, dass eine Website bis jetzt einigermaßen abbaut. –

2

Es ist in diesen Tagen in Ordnung, anzunehmen, dass Ihre Besucher JS aktiviert haben. Mit diesem Schritt sollten Sie nach der bestmöglichen Verschlechterung Ihrer Website streben, wenn JS deaktiviert ist. Es ist ideal, wenn Ihre Site in einen Zustand zurückfällt, der auch ohne JS noch verwendbar ist.

+0

Dieser Ratschlag, dass die Verschlechterung ideal ist, hängt etwas von Ihrer Zielgruppe ab und davon, was Ihre Website oder Ihre Webanwendung tun soll. Sie müssen abwägen, ob sich der Aufwand in diesem Bereich lohnt. –

+0

@Jason: Natürlich ist es deshalb sekundär. – GEOCHET

2

Ja ist es. Aber geben Sie so viel wie möglich durch reguläres HTML und URLs frei, wenn für nichts anderes als für Google.

2

Erreichbar, ja ... funktional? Nicht wirklich.

Dies ist wirklich eine Kundenanforderung Frage mehr als Entwickler-beantwortbar, aber wenn Ihr Kunde versucht, eine Anforderung durchzusetzen, die nicht-JS-Browser arbeiten, sollten Sie stark dagegen argumentieren und sie wirklich auf den "coolen" Faktor hämmern werde fehlen.

Angesichts der starken Abhängigkeit von GWT, RichFaces, etc. auf Javascript, ist es einfach nicht möglich, eine App mit irgendeiner benutzerfreundlichen Benutzeroberfläche ohne sie zu machen.

Sie sollten Benutzer, die nicht JS-fähig sind, warnen, dass die Website, die sie besuchen möchten, stark von JS abhängig ist. Es hat keinen Sinn, unhöflich zu sein.

11

Ich denke, es gibt einen anderen Grund, der Sie dazu bringt, zumindest einige Hauptfunktionen ohne JS zu unterstützen - viele von uns durchsuchen jetzt von Mobile und PDA, die nicht die gleiche Menge an JavaScript-Unterstützung haben.

+0

Ich stöbere von meinem iPhone, bessere js Unterstützung als IE Und wer macht PDAs mehr? –

10

http://www.w3schools.com/browsers/browsers_stats.asp

Sie behaupten 95% der Nutzer haben Javascript auf.

+2

Ich möchte nur hinzufügen, damit die Leute dies nicht wissen, W3Schools Statistiken sind für Besucher ihrer Website, die in der Regel diejenigen, die Web-Tutorials (Web-Entwickler), so dass die Seite nicht repräsentativ für die allgemeine Bevölkerung ist. Firefox schlägt IE in seinen Statistiken ... –

+0

@Dan: IE6 + IE7 ist immer noch größer als Fx; aber es wird langsam da ... –

9

Duplicate

Es gibt mindestens eine Kategorie, wo die Antwort ist eindeutig „nein“. Wenn Sie für die Regierung arbeiten, müssen Sie müssen stellen Sie sicher, dass die Website für diejenigen zugänglich ist, die Bildschirmlesegeräte verwenden.

0

Ich denke, es ist fair anzunehmen, dass die Mehrheit der Besucher Ihrer Website JavaScript aktiviert haben wird. Einige der Websites mit mehr Trafficking sind von JavaScript abhängig. Zum Beispiel war ich überrascht zu erfahren, dass Sie sich nicht über eine Passport-fähige Website ohne JS-fähigen Browser authentifizieren können.

0

Nein ist es nicht, Punkt, Punkt, Ende der Geschichte. Es ist naiv und auf ethischer Ebene falsch, ganz zu schweigen davon, dass Sie etwa 50% der Internetnutzer weltweit vermissen (glauben Sie, dass 70% des Internetzugangs weltweit von mobilen Geräten stammt).

Fügen Sie zusätzliche raffinierte Sachen, die Javascript benötigt, das ist in Ordnung. Machen Sie Ihre Site nicht ohne Javascript unbrauchbar, es sei denn, Sie haben wirklich, wirklich, wirklich guten Grund, dies zu tun.

Jemand hat zu Recht darauf hingewiesen, dass ich keine Beweise habe, um meinen Anspruch von 70% mobilen Internetnutzern zu belegen. Leider kann ich die Quelle nicht finden, von der ich es bekommen habe, aber ich erinnere mich, dass es autorativ ist, also habe keinen Grund, daran zu zweifeln. Es macht jedoch Sinn, wenn man bedenkt, dass viele Entwicklungsländer mehr Mobiltelefone haben als Festnetz und Breitband. Eine Statistik, die in meiner nicht gefundenen Quelle zitiert wurde, war, dass ein afrikanisches Land insbesondere 300.000 Festnetzanschlüsse hat, aber 1,5 Millionen Mobiltelefone hat!

+0

"70% des weltweiten Internet-Zugangs sind von mobilen Geräten aus") ... hast du etwas, das das unterstützt? Ich glaube du bist sehr weit weg von der Realität. –

+0

Nein, bin ich nicht. Aber zugegeben, nein, ich habe die Beweise nicht zur Hand, kann mich nicht erinnern, wo ich sie gefunden habe, aber ich bin mir sicher, dass es genau ist. Ich werde nachsehen ... – roryf

+0

Trotz der Prozentsätze, die wahr oder falsch sind, stimme ich völlig mit Rory Fitzpatrick überein. Webentwickler sind schlecht für die Entwicklung von Internet Explorer geeignet und neigen dazu, kleine Dinge wie STANDARDS zu vergessen. Wenn Sie eine Website entwickeln, schreiben Sie ein Stück Text, das von Webbrowsern gelesen und gerendert wird. Webbrowser sind Software, die HTML-Dokumente lesen und wiedergeben kann. Zeitraum. JavaScript ist KEINE Voraussetzung für die Erstellung eines Browsers, daher lautet die Antwort NEIN. Wenn Kevin fragte, ob es in Ordnung ist, einen Nicht-Standard mit JavaScript als Anforderung zu schreiben, nun, es ist NICHT-STANDARD, irgendetwas wird tun. – Spidey

0

Fast alle (aber nicht alle!) Benutzer haben Javascript aktiviert. (Ich glaube, die oben angegebene Zahl von etwa 5% ist genau.)

Angesichts der enormen Verbesserung der Benutzerfreundlichkeit können Sie mit der vernünftigen Verwendung von Javascript machen, meine Meinung ist, dass die meiste Zeit, es vernünftig ist, davon auszugehen aktiviert.

Es wird natürlich einige Fälle geben, in denen das nicht der Fall ist (dh eine Website für mobile Geräte oder mit einem hohen Prozentsatz von behinderten Benutzern usw.), und es sollte immer eine Anstrengung unternommen werden so zugänglich wie möglich für einen möglichst großen Prozentsatz der Bevölkerung.

Das heißt, wenn Sie nur eine Website mit wenig Verkehr haben, 5% einer kleinen Zahl ist eine sehr kleine Zahl. Es lohnt sich möglicherweise nicht, sich rückwärts zu beugen, um Ihre Website für diese Personen zugänglich zu machen, wenn Sie nur einen oder zwei zusätzliche Benutzer gewinnen können.

Ich denke, die kurze Antwort ist (wie immer), gibt es keine richtige Antwort - es wird vollständig von der Zielnutzung abhängen, und Zielbenutzer der Sit in Frage.

0

Nach this little page Javascript ist in 95% der Browser aktiviert und es steigt weiter.

14

Kommt völlig darauf an, wen Sie anstreben.

Wenn Ihre Website oder App für ein Intranet ist, können Sie viele Annahmen treffen. Wenn Ihre Zielgruppe hochmoderne Social-Networking-Typen ist, können Sie davon ausgehen, dass JavaScript funktioniert. Wenn Sie eine Menge Paranoia-Sysadmin-Typen erwarten, können Sie davon ausgehen, dass einige davon versuchen werden, auf Ihre Website im Luchs zuzugreifen oder JS aus "Sicherheitsgründen" ausgeschaltet zu haben.

Ein gutes Beispiel dafür ist Amazon - ihr Ansatz wird von ihren Geschäftszielen bestimmt. Sie sind eine Massenmarktseite, aber für sie bedeutet das Aussperren von Benutzern in alten/nicht fähigen Browsern potenzielle Umsatzeinbußen, so dass sie hart an Nicht-Skript-Fallbacks arbeiten.

So wie viele dieser Arten von Fragen, ist die Antwort nicht nur regurgitating, was Sie irgendwo über Zugänglichkeit oder progressive Verbesserung gelesen haben. Die wirkliche Antwort ist "es kommt darauf an."

0

Die Seite W3C Browser Statistics (scroll down) enthält einige Informationen dazu; sie sagen, dass 95% der Besucher auf JavaScript haben ab Januar 2008

0

Es ist vernünftig Ihre Besucher aktiviert haben Javascript zu übernehmen! -)

- aber natürlich hängt es davon ab, die Sie versuchen zu erreichen ...

Mehrere Male oben wurden w3schools erwähnt und, wie Dan sagte, es sind ihre eigenen Besucher, die es etwas schrullig machen, Schluss aus zu ziehen.

Allerdings, wenn Sie theCounter.com betrachten, scheint es, dass ihr Publikum die gleichen Gewohnheiten im Allgemeinen in diesem Punkt hat ...

Eine Wendung, die bisher noch nicht erwähnt wurde, ist die wachsende Menge an Raupen, mailharvesters und so weiter, haben sie auf jeden Fall nicht Javascript eingeschaltet, und wie gut sind Zähler, sie zu erkennen? -)

Meine rate wäre, dass diese Art von Maschine-Browser eine Menge von denen 5-6% füllen! o]

- das sagte, wenn es überhaupt möglich ist, machen Sie Ihre App anmutig degradieren (wie ein weiser Mann sagte)

0

Ihre Fragen scheinen eine formularbasierte Eingabe für eine Anwendung vorzuschlagen. Wenn es sich um eine Intranet-Anwendung handelt, werden Sie von den internen Sicherheitsexperten geleitet. Wenn es eine öffentliche App ist, dann wie andere Poster vorgeschlagen haben, scheitern würdevoll.

2

Nein! In einigen Umgebungen wird es aufgrund von Richtlinien deaktiviert, und Sie können nichts tun, um es zu aktivieren. Und selbst wenn es aktiviert ist, könnte es verkrüppelt sein.

Diese Frage wurde zuvor gestellt.

0

Ich werde argumentieren, dass es mehr als vernünftig ist zu erwarten, dass sie Javascript haben, solange Sie geeignete Mittel zur Verfügung stellen, um Javascript zu ersetzen, sollte es nicht aktiviert werden. Einer der Gründe, warum ich die Yahoo UI-Bibliothek mag, ist, dass sie sich auf würdige Weise verschlechtert.

1

Ein interessanter Punkt, den Sie beachten sollten, ist, dass Sie als Webentwickler die soziale Verantwortung haben, die Technologie voranzutreiben - und indem Sie Dinge wie AJAX verwenden, erhöhen Sie damit die Exposition und die mögliche Adoptionsrate. Das einzige, was Sie davon abhalten sollte, die Technologie in vollem Umfang zu nutzen, ist Geld - wenn Sie nicht das Geld verdienen, das Sie brauchen, weil die Leute Schwierigkeiten haben werden, das Material zu sehen, müssen Sie das neu überdenken.

+0

Down-voting: AJAX ist keine Wunderwaffe. Benutze AJAX nicht, um einen Punkt zu beweisen. Für kleine Updates, wo es geeignet ist, verwenden Sie AJAX. Wenn Sie AJAX bereits als absolute _Requirement_ haben, verwenden Sie http für die wichtigsten Seitenupdates unter Berücksichtigung der anderen gültigen Sicherheitsaspekte. – Ali

+0

Entweder Sie falsch lesen oder ich falsch geschrieben, aber ich würde nie für überflüssige Verwendung von Technologie befürworten - alles, was ich sagen will, ist, Browser unterstützen, was Menschen verwenden, und wenn Sie nie die neue Technologie verwenden, weil es nicht ist Wenn es nicht so leicht unterstützt wird, wird es nie ohne weiteres unterstützt. Dies ist eine Fang-22, die wir brechen können. –

+0

Sie müssen das alte Verhalten nicht ignorieren, um die Technologie voranzutreiben. Sie können immer eine einfache Version Ihrer Website für Benutzer ohne JavaScript und eine vollständige Version mit JavaScript erstellen.Und ich meine nicht getrennte Websites, Sie können einen erstellen, der vollständig degradiert. – Spidey

4

Ich stöbere mit dem NoScript Plugin in Firefox und ich bin überrascht über die Anzahl der Entwickler, die nicht einmal daran gedacht haben, ihre Website abbaubar zu machen.

Niemals davon ausgehen, dass der Benutzer JavaScript deaktiviert hat - vor allem, da es nicht immer ihre Schuld ist. Viele Unternehmen haben Firewalls, die JavaScript/ActiveX etc. blockieren. - In diesem Fall funktioniert das <noscript> Element nicht, also würde ich es auch nicht empfehlen!

Sofern Sie keine vollständige Webanwendung erstellen, die zu 90% aus Ajax besteht, müssen Sie sicherstellen, dass Sie die Standards einhalten und Ihre Website schrittweise durch verschiedene Interaktivitätsebenen erweitern.

Vergessen Sie auch nicht, die Bedeutung der Objekterkennung, insbesondere mit dem Anstieg der Handy-Web-Browsing. Einer der beliebtesten mobilen Webbrowser (Opera mini 4.0) lässt nicht zu, dass "Background javaScript" funktioniert und Ajax-Aufrufe selten korrekt ausgeführt werden ... Nur etwas, auf das Sie achten sollten.

Um ehrlich zu sein, ich bin krank und müde von Entwicklern, die denken, jeder wird JS aktiviert haben! Was für eine Ignoranz !!

+0

Unternehmen blockieren Javascrip/ActiveX, um Mitarbeiter daran zu hindern, bei der Arbeit nach etwas Ausschau zu halten, was sie nicht tun sollten. Sie können sie für eine bestimmte Site aktivieren, wenn diese geschäftlich relevant ist. –

0

Ich versuche immer, meine Websites als statische zuerst zu kodieren, dann füge ich js/ajax-Funktionalität hinzu. Auf diese Weise kann ich irgendwie sicher sein, dass auf nicht JS Browsern funktioniert :)

Aber Javascript ist wie Flash: alle Benutzer haben es, aber Entwickler müssen auf was WENN IF ....? : D

0

Dies ist völlig eine "es hängt ab" Frage, wie viele Leute darauf hingewiesen haben.

Dies ist der Grund, warum Metriken auf Websites nützlich sind, um zu zeigen, ob Sie wirklich mit der Analogie "große Websites sagen, dass die Mehrheit der Leute JS on" führen können - Sie könnten eine Website haben, wo es 99% ist. Ich werde nicht in graben, was oben gesagt wurde, da es sehr gut beantwortet worden ist :)

6

Ist es vernünftig, die Besucher davon ausgehen, hat Javascript aktiviert und einfach haben einen unbrauchbaren Ort für diejenigen, den don‘ t?

Es gibt tatsächlich zwei Fragen, und die Antworten sind: Ja, es ist vernünftig anzunehmen, dass Besucher JavaScript aktiviert haben. Und, Nein, das bedeutet nicht, dass andere mit unbrauchbaren Seiten verlassen werden sollten.

Progressive Verbesserung ist der Weg zu gehen. Lassen Sie Ihre Website ohne Javascript nutzbar und fügen Sie dann Schnickschnack hinzu.

Wie für die clientseitige Validierung ist es nicht mehr als eine Annehmlichkeit für den Benutzer, unnötige Roundtrips zum Server zu vermeiden (wo echte Validierung durchgeführt werden sollte).

1

Niemals jemals Javascript für Formularvalidierung annehmen, wie Ihre Frage impliziert. Irgendjemand wird dies irgendwann bemerken und Javascript ausschalten.

Codieren Sie stattdessen die App in ziemlich regelmäßigen HTML-Art und verwenden Sie Javascript für das, was es ist: ein optionaler Vorteil für Ihre Benutzer.

Auch für eine vollständige AJAX-Anwendung wie Gmail sind die vollständigen Funktionen der Formularvalidierung auf der Serverseite erforderlich.

+0

"Ich verstehe, dass serverseitige Validierung ein absolutes Muss ist, um zu verhindern, dass böswillige Benutzer (oder einfach nur Benutzer, die JavaScript deaktivieren) die clientseitige Validierung umgehen" – liammclennan

0

Nicht, dass alle anderen nicht eingehört hätten, aber ich stimme der "Blick auf dein Publikum" Position in gewissem Maße nicht zu.

Es sollte wirklich "Schau auf deine App", wenn Sie nur einige Informationen anzeigen, und Ihre js ist für Bell/Whistle Zwecke, dann auf schöne Degradation, wenn Sie wollen.

Wenn Sie jedoch etwas wie Google Docs erstellen, ist es wirklich scheußlich, dass jemand denkt, dass Sie Ihre Site ohne js verwenden könnten, also lassen Sie sie das vielleicht über eine nette sarkastische Nachricht in <noscript> Tags wissen.

Von einem rein philosophischen Standpunkt aus, wenn Benutzer auf Ihre Website zugreifen möchten, werden sie den js-Schalter umlegen oder auf einen anständigen Browser usw. upgraden. Und Sie sollten sie dazu zwingen, weil Evolution wichtig ist das Überleben der Spezies.

1

Ja, JavaScript ist so alt wie CSS und niemand versucht, Browser zu erstellen, die CSS nicht unterstützen. Cross Site Scripting ist der Grund, warum Leute Angst vor JavaScript haben, aber glauben Sie mir, wenn ein Entwickler Ihnen etwas vormachen will, benötigt er kein JavaScript dafür. Soweit mobile Browser haben die meisten von ihnen jetzt JavaScript, und die anderen sollten nicht als Browser betrachtet werden. Ich rate Ihnen, sich nicht für Hacker zu öffnen, indem Sie Ihre Site für diejenigen anfällig machen, die sich dafür entscheiden, JavaScript zu deaktivieren, aber gleichzeitig nicht aus dem Weg gehen, um diejenigen zu unterstützen, die in der Steinzeit leben. Du wirst IE 4 oder Netscape nicht unterstützen, oder? Warum also diejenigen unterstützen, die ihre eigenen Browser wegen eklatanter Angst oder Paranoia sabotieren?

0

Nach this Website verwenden 95% der Browser JavaScript.

Das heißt, es gibt eine Menge von Bots, die JavaScript nicht verwenden: Scraper, Such-Bots, etc.Ich würde sagen, dass näher zu 100% der tatsächlichen menschlichen Benutzer JavaScript verwenden. Aber deine Vermutung ist genauso gut wie meine.

Verwandte Themen