Ist aufdringliches JavaScript jemals in Ordnung?


9

Ich dachte, wenn für alle Benutzer einer Website JavaScript aktiviert sein muss, ist es in Ordnung, aufdringliches JavaScript zu verwenden?

Ich bin alle für eine progressive Verbesserung, aber was bringt es, wenn eine erweiterte Webanwendung Benutzer an die Tür hüpft, wenn sie einen alten Browser oder JavaScript deaktiviert haben?

Wir haben eine sehr schlanke Zielgruppe und können unserer Zielgruppe mitteilen, welche Browser und Plugins / Funktionen sie benötigen. Meine Frage ist also, ist das Mischen von JS und HTML in diesem Fall in Ordnung? Wie die Verwendung von Onclick-Attributen.


1
"Wenn für alle Benutzer einer Website JavaScript aktiviert sein muss ... wenn sie ... JavaScript deaktiviert haben?" <- Dies ist ein Widerspruch, und ich bin mir nicht sicher, wie ich eine ungelöste nützliche Antwort geben soll.
HedgeMage

3
Beachten Sie, dass es je nach Zielgruppe und Markt möglicherweise Barrierefreiheitsgesetze gibt, nach denen Ihre Websites für alle Benutzer, einschließlich behinderter Menschen, zugänglich sein müssen. Was das in der Praxis für JS bedeutet, weiß ich nicht. AFAIK (IINAL) Wo ich bin, haben wir solche Gesetze, aber es gab noch keine Testfälle, um die Details zu erarbeiten.
James

16
Was meinst du mit "aufdringlichem" Javascript? Ich bin mit dem Begriff nicht vertraut.
Macke

2
Ihre Frage lautet also im Grunde: Ist das Schreiben von beschissenem Code jemals in Ordnung? Ja, für Prototypen und Projekte, die ausreichend klein sind und nach Abschluss keine Wartung / Upgrades erfordern. Andernfalls werden Sie sich ein halbes Jahr später selbst ins Gesicht sehen, da Sie eine Stunde brauchen, um herauszufinden, was plausibel gewesen wäre, wenn Sie beim Einsetzen ein paar Sekunden mehr investiert hätten.
back2dos

3
Ich dachte, diese Frage würde fragen, ob es in Ordnung ist, die Größe eines Browserfensters zu ändern oder Tonnen von Popups zu haben.
Whatsisname

Antworten:


17

Dies ist eher eine Geschäftsentscheidung als eine Entwurfsentscheidung.

Die Bereitstellung einer Version der Website, die ohne JavaScript (oder Flash oder Silverlight) funktioniert, ist kostenpflichtig. Das Unternehmen muss entscheiden, ob sich der Umsatz- / Besucherverlust lohnt oder nicht.

Wenn das Schreiben dieser Version also 10.000 US-Dollar kostet (die Anzahl ist zwar groß, aber nur für dieses Beispiel vorhanden), wird das Unternehmen diesen Aufwand dann über die gesamte Lebensdauer der Website zurückerhalten? Wenn nicht, geben Sie diese Version nicht an.

Wenn das Schreiben dieser Version jedoch nur 100 US-Dollar kostet, ist es sinnvoll, die ordnungsgemäße Verschlechterung bereitzustellen.

Nachdem Sie die geschäftliche Entscheidung getroffen haben, nur auf JavaScript-fähige Browser abzuzielen und zu erwarten, dass Ihre Benutzer JavaScript aktiviert haben, ist es absolut sinnvoll, dass Ihre Anwendung die Funktionen nutzt, die Ihnen jetzt zur Verfügung stehen. Das einzige, was Sie tun müssen, ist (wie bei Stack Overflow selbst) eine Warnung, dass die Site nicht richtig funktioniert, wenn der Benutzer sie nicht aktiviert hat.


2
Ich denke du missverstehst mich.
Petah

5
Sie sollten uns freundlicherweise mitteilen, dass WTF "aufdringliche JS" bedeutet, um das Missverständnis zu vermeiden. Du wurdest bereits darum gebeten (7-mal positiv bewertet)!
Maaartinus

1
Ich habe in der Vergangenheit einige anmutig herabsetzende Seiten erstellt und festgestellt, dass HTML und Javascript viel weniger transparent sind, wenn Sie den JS-fähigen Besuchern dennoch die beste Benutzererfahrung bieten möchten. Die Seiten waren VIEL schwieriger zu erstellen und ich glaube, dass der Typ, der die Seite verwaltet, einige Schwierigkeiten haben wird, Ihrem Code zu folgen. Es sind also sicherlich langfristige Kosten für die Wartbarkeit zu berücksichtigen, wenn Sie die Kosten für eine ordnungsgemäße Verschlechterung Ihrer Website abschätzen. Ich fand es sehr verlockend, Kompromisse bei der JS-fähigen UX einzugehen.
Thomas Stock

1
@maaartinus, aufdringliches Javascript ist das Gegenteil von unauffälligem Javascript en.wikipedia.org/wiki/Unobtrusive_JavaScript
Petah

1
OK, also kann ich nur sagen ... html + js ist eine Plage (kaputte Implementierungen, die seltsame Standards ignorieren) und ich würde den Aufwand minimieren, so wie Thomas Stock es geschrieben hat. Versuchen Sie, es im ausgewählten Browser perfekt zu machen (und wählen Sie nicht IE6: D) a und in anderen erträglich zu sein. Anstatt alle Probleme zu umgehen, verbringen Sie Ihre Zeit mit Funktionalität.
Maaartinus

20

Etwas, das noch niemand erwähnt hat ...

99% der Websites begrüßen einen bestimmten Besucher, einer mit wenig bis gar keinem JavaScript. Dieser Besucher hat einen Namen: Googlebot .

Ein großer Grund, warum sich jeder auch um blinde Besucher kümmern sollte…

Wenn Sie einer der wenigen sind, die sich überhaupt nicht für Suchmaschinenverkehr interessieren, ist dies Ihr Vorrecht - aber es ist sicherlich keine allgemeine Regel.


4
Tatsächlich. Wir haben eine unserer Websites verbessert, um sie für Blinde zugänglicher zu machen. Als (unbeabsichtigte) Folge vervielfachte sich der Traffic von Google innerhalb eines Jahres um fast den Faktor 10.
Kris

1
Ja, aber die Website ist nicht für die Öffentlichkeit. Suchrankings gelten also nicht.
Petah

3
@Petah: Haben Sie darüber nachgedacht, klar und prägnant anzugeben, was Ihre genauen Anforderungen, Situationen und Einschränkungen sind , anstatt hier und da kleine Ausschnitte von Informationen in Kommentaren zu veröffentlichen?
Nur meine richtige Meinung

1
Du hast nicht mehr recht. Seit geraumer Zeit läuft Googlebot gut mit Javascript (keine Überraschung, da Google sowohl mit der V8-Engine als auch mit AngularJs funktioniert).
Maaartinus

8

Leute, die Dinge für bestimmte interne Umgebungen schreiben, sind ein wichtiger Grund, warum es IE6 immer noch gibt.

Denk darüber nach


4

Wenn Sie eine reine JS-Site erstellen (in diesem Fall ist "Anwendung" vielleicht ein besseres Wort), spielt die sogenannte "Unauffälligkeit" von JS keine so große Rolle wie in dem Fall, in dem Sie sich elegant auf Nicht-JS-Site verschlechtern müssen. JS-Version.

Allerdings: Unauffällig geschriebenes JavaScript ist im Allgemeinen einfacher zu schreiben (und am wenigsten finde ich es so) und zu pflegen. Es ist einfacher, Änderungen am HTML-Layout vorzunehmen, die JS nicht beschädigen, und Änderungen an JS, ohne sich Gedanken über das Brechen von HTML zu machen.


4

Wenn Sie eine Website erstellen, würde ich JavaScript unauffällig halten. Wenn Sie jedoch eine Form einer Anwendung erstellen (z. B. Google Text & Tabellen), ist JavaScript ziemlich aufdringlich.

JavaScript und HTML5 eignen sich hervorragend zum Erstellen von Anwendungen, wenn Sie dies benötigen, aber es ist wirklich eine geschäftliche Entscheidung.


Ja, es ähnelt eher Google Docs als einer Website. Und wir verwenden HTML5 stark.
Petah

Korrigieren Sie mich, wenn ich falsch liege, aber ich denke, Sie können die meisten Konzepte in unauffälligem JavaScript trotzdem verwenden, ohne den Code unbedingt durcheinander zu bringen? Das ist das Konzept, das auffällt und für mich am meisten Lärm macht. Vielleicht beziehen Sie sich auf einige andere Aspekte von unauffälligem JavaScript, die Sie durch die Verwendung von HTML5 vermeiden müssten, z. B. die Abwärtskompatibilität mit Nicht-JavaScript-Benutzern? Sie müssen auswählen, was für Sie und das Projekt am besten ist, solange Sie die Gründe intelligent begründen und das Risiko analysieren können, dann denke ich, dass alles gut ist :) +1
jmort253

Ich spreche davon, wie die Site funktioniert, wenn Javascript deaktiviert ist. Es gibt Zeiten, in denen es voll funktionsfähig ist (wenn auch nicht so schön), und andere, in denen es vollständig ausfällt. Ich mache mir keine Sorgen um alte Browser, die kein JavaScript unterstützen (Netscape 1). Natürlich gibt es auf keinen Fall einen Grund, schlechtes Javascript zu schreiben
Zachary K

2

Die Mehrheit der Benutzer (meine Benutzer, ich weiß nichts über Ihre Benutzer) hat JavaScript verfügbar und aktiviert. Lassen Sie uns diesen Benutzern eine großartige Benutzererfahrung bieten. Sie müssen jedoch weiterhin eine Version Ihrer Website bereitstellen, die ohne Javascript funktioniert. Ich weiß, dass es mühsam ist, zwei Versionen zu erstellen, aber so läuft es in der Webentwicklung. (In Wirklichkeit müssen Sie möglicherweise mehrere Versionen erstellen, eine dritte ist möglicherweise eine mobile Version Ihrer Website.)

Was Sie nicht tun möchten, ist das Design für den kleinsten gemeinsamen Nenner: "Nun, es gibt einige Benutzer, die Javascript deaktiviert haben, also werden wir unsere Website so gestalten, dass sie für sie gut funktioniert - kein Javascript, schlagen Sie den Server für alles . " Dies bestraft nur die Mehrheit Ihrer Benutzer, die über Javascript verfügen.


Ich sage, keiner der Benutzer hat JavaScript deaktiviert. In diesem Fall können sie nicht auf die Site zugreifen.
Petah

@Petah, na ja, das ist auch nicht so toll. Sie möchten keine Benutzer ohne Javascript abprallen lassen. Können Sie also, da ich die Benutzer ohne Javascript rausschmeiße, die JS mit meinem HTML-Code in dieselbe Datei einfügen?
Marcie

Wir haben eine sehr schlanke Zielgruppe und können unserer Zielgruppe mitteilen, welche Browser und Plugins / Funktionen sie benötigen. Meine Frage ist also, ob JS und HTML in diesem Fall in Ordnung sind. Wie die Verwendung von Onclick-Attributen.
Petah

4
@Petah, es gibt andere Gründe, JS und HTML nicht zu mischen. Aus den gleichen Gründen vermeiden wir das Mischen von Stilen und HTML - die Trennung von Bedenken. Wenn Ihr Stil mit Ihrer Struktur vermischt ist, was mit Ihrem Verhalten vermischt ist, haben Sie etwas sehr Schwieriges zu pflegen. Nachdem Sie es eine Weile "unauffällig" gemacht haben, werden Sie sehen, wie elegant Ihre Dateien sind und wie viel einfacher es ist, Änderungen vorzunehmen.
Marcie

2
@Petah, hast du eine riesige JS-Datei für deine gesamte Site und alles geht dort rein? Ich habe ungefähr eine JS-Datei pro Seite, und das funktioniert gut für mich. Wirklich "allgemeines" Zeug ist alles, was in der gemeinsam genutzten JS-Datei enthalten ist.
Marcie

2

Sie haben die Verwendung von Onlick-Attributen erwähnt. Planen Sie die Verwendung eines JavaScript-Ereignishandlers für die Seitennavigation?

Ich würde aus einem einzigen Grund dagegen empfehlen: Es bricht das Klicken in der Mitte .

Unter der Annahme, dass JavaScript aktiviert ist, sind diese für das regelmäßige Klicken auf Links funktional gleichwertig:

<a href="#" onclick="window.location = 'myPage.htm';">Click here</a>
<a href="myPage.htm">Click here</a>

Wenn Sie versuchen, mit der mittleren Maustaste auf das erste Beispiel zu klicken, wird anstelle von myPage.htm eine leere Seite angezeigt.

Abgesehen von diesem Beispiel halte ich es für in Ordnung, aufdringliches JavaScript zu verwenden, wenn es für Sie geschäftlich sinnvoll ist. Das Schreiben (aber nicht unbedingt das Verwalten) von Inline-JavaScript nimmt weniger Zeit in Anspruch, und der Verlust der progressiven Verbesserung ist in Ihrer Situation möglicherweise nicht wichtig.


In diesem Fall ist es nicht für die Navigation, sondern für Schaltflächen wie "Aktualisieren", "Löschen", "Erstellen" usw.
Petah

In diesem Fall würde ich vorschlagen, dass es ein persönlicher Stil ist. Ich finde die aufdringliche Methode schneller / einfacher zu starten, aber die "richtige" Art, sauberer und einfacher zu warten. Es ist definitiv ein Fuzzy-Wohlfühlfaktor, den richtigen Weg zu gehen.
GavinH

+1 - Es ist einfacher, den Code von Anfang an sauber zu halten, wenn er unauffällig ist. Ich finde, wenn ich am Anfang zu chaotisch werde, kann es zu schwierig sein, die Probleme später zu beheben. Ich werde überwältigt. Ich mache lieber so gute Arbeit wie möglich, damit es nicht so schlimm ist, wenn ich zurückkehre.
jmort253

2

Aufdringliches JavaScript war vor 10 Jahren in Ordnung. Es ist auch in Ordnung, wenn Sie ein Amateur sind oder wenn Sie einen Wegwerfprototyp bauen oder wenn es einen Umstand gibt, der dies erforderlich macht, wie z. B. die Abhängigkeit von Legacy-Code oder datengesteuertem Code, und dies würde einfach nur Kosten verursachen zu viel, um al zu reparieren

Wenn Sie etwas von Grund auf neu erstellen, befolgen Sie die Standards, schreiben Sie guten, sauberen und wartbaren Code. Schreiben Sie etwas, auf das Sie stolz sein werden und das Sie in einem Jahr nicht krank macht, wenn ein armer Trottel Sie um Hilfe bittet, weil er einen Hackjob, den Sie gemacht haben, nicht versteht. Schreiben Sie etwas, das sicherstellt, dass Ihre Webdesigner CSS problemlos austauschen können, ohne sich in unordentlichem HTML und JavaScript zurechtfinden zu müssen.

Erstellen Sie die Anwendung so, dass sie Platz zum Wachsen bietet, sodass jeder Entwickler sie verwalten kann. Die jetzt investierte Zeit spart in Zukunft Zeit, wenn nicht Ihre Zeit, die anderer.

Stellen Sie sicher, dass das JavaScript in einem anderen Kontext wiederverwendet werden kann. Stellen Sie sicher, dass eine vollständige Neugestaltung der Website genau das sein kann, eine Neugestaltung und keine vollständige Neugestaltung von etwas, das bereits vorhanden ist, aber nicht hart gebaut wurde.

Stellen Sie sich vor, wie peinlich es wäre, genauso viel Zeit für eine Neugestaltung aufwenden zu müssen wie für die ursprüngliche Erstellung.

Vertrauen Sie mir aus Erfahrung, unauffälliges JavaScript verhindert, dass Sie kostspielige Fehler machen.


2

Okay, nenn mich einfach den Krypta-Wächter bei all dem Nekro, das ich mache, aber ich habe nie das Gefühl gehabt, dass der wahre Wert davon richtig verstanden wurde. In der Vergangenheit wurde behauptet, dass "unauffälliges JavaScript" oder das Heraushalten Ihres JS aus dem HTML-Code über Inline-HTML-Ereignishandlerattribute und Skript-Tags, die nicht so oft wie möglich mit einer Datei verknüpft sind, ein wichtiges Schlüsselelement von:

  • Zugänglichkeitsbedenken
  • SEO
  • Und progressive Verbesserung

LÜGEN! (Nun, jetzt wären sie)

Die Wahrheit ist, dass Sie technisch aufdringliches JavaScript verwenden und trotzdem die oben genannten drei Elemente entfernen können. Es sei denn, Sie haben HTML-Inhalte dynamisch erstellt, was an diesem Tag ein großes SEO-No-No war.

Aber hör auf und denk nach ... über DICH!

Wirklich, der große Vorteil, der größte und am meisten unterverkaufte Gewinn bei der Aufrechterhaltung der Trennung war immer der direkte Vorteil, den der Entwickler daraus zieht. Sie können so viele Ereignishandler wie Sie möchten im selben HTML-Element für dasselbe Ereignis haben, wie es zweckmäßig ist. Das bedeutet, wenn ein Tag mit class="some_class"immer ein bestimmtes Verhalten aufweist, aber auch ein Bonusverhalten, wenn es sich in einem id="bonus_behavior"Div befindet, müssen wir nicht mit der Logik in unserem einmal erlaubten Ereignishandler herumspielen, um dies zu verzweigen. Wir können je nach Kontext nur Handler hinzufügen oder nicht.

Einfach zu lesen

Ein weiterer Vorteil ist die Lesbarkeit. Dies war ein kritischeres Problem, als die Browser-Tools aus der exklusiven Fehlermeldung des IE bestanden, die Ihnen mitteilte, dass etwas nicht stimmte, [object]aber IMO, es ist immer noch eine große Sache. CSS hier, JS dort und HTML ist der Ort, an dem sich sowohl sie als auch der Server treffen. Wenn all diese Dinge an einem Ort zusammenkommen, ist es sinnvoll, sich auf die Hooks (IDs, Klassen und Hierarchien) zu verlassen, um eine Abstraktionsebene zu erstellen, die alles verwendet, um eine Verbindung zum HTML herzustellen.

IMO: Je mehr Sie HTML, CSS und JS voneinander trennen können, desto einfacher ist es, nicht nur zu lesen, sondern auch zu ändern und zu verstehen, was vor sich geht. Ich sehe ein leeres Div mit "dynamic_combo_box" als Klasse und ich habe eine gute Idee, dass etwas eine ausgefallene Auswahl macht, die Daten dynamisch lädt. Ich habe einen Hinweis darauf, wie man das in JS und CSS findet, und wenn ich in diesen Belangen auf die Klasse stoße, habe ich eine gute Idee, worum es geht und wie man es im HTML findet.

Zu einfach, um noch schlampiger zu werden

Und natürlich geht die Lesbarkeit tendenziell mit der Wartbarkeit einher. Wenn Sie die Dinge einfach direkt erledigen, indem Sie alles in Skript-Tags ablegen, in denen sich der relevante HTML-Code befindet, wird es für die Benutzer einfacher, das Skript einfach auszuschneiden und in den HTML-Code einer anderen Seite einzufügen, an der sie gerade arbeiten Sie wollen ähnliche Funktionen, was bedeutet, dass Sie jetzt eine Sache haben, die höchstwahrscheinlich irgendwann zu zwei ärgerlich ähnlichen, aber nicht zu 100% ähnlichen Dingen wird, deren Verhalten im Laufe der Zeit problematisch werden kann, indem sie sich den Erwartungen widersetzen und die Hinzufügung einer sinnloseren Verzweigung erfordern, um Ausnahmen zu behandeln, die man benötigt ein anderer tat es nicht.

Das Rigging-Verhalten dieser HTML-Hooks fördert also die intelligente Wiederverwendung von Code. Wenn Sie das Verhalten für eine alternative Implementierung verzweigen müssen, rufen Sie einfach dieselbe Funktion auf und behandeln sie dort mit einer HTML-Hierarchie oder einem Daten-Att, der ein Alt-Verhalten auslöst. Es ist ein One-Stop-Shopping für alle, die verstehen möchten, wie UI-Elemente eines bestimmten Typs funktionieren, und diese verächtlich faulen Cut & Paste-Typen werden das Richtige / Wartungsfreundlichere tun, nur weil es am einfachsten ist Jetzt tun und das ist der beste Weg, um Wartbarkeit zu erreichen. Machen Sie es zum einfachsten "duh", selbst für jemanden, dem es egal ist, ob es sich um Panik oder Apathie handelt.

Aber was ist mit 2014?

Es mag ein legitimer Punkt sein, dass in modernen Anwendungen mit nur einer Seite einige dieser klebrigen Dinge vielleicht nicht so dogmatisch wie bisher festgehalten werden sollten, aber glauben Sie mir, wenn ich sage, ich glaube nicht, dass ich der einzige bin, der das tut wurde darauf verkauft, weil es letztendlich die Arbeit erleichtert. Ich bin faul (ich hoffe) meistens gut. Ich mag es, wenn ich nur Dinge an einem Ort ändern muss, um Änderungen in einer App zu erhalten, wenn ich nur an einem Ort suchen muss, um herauszufinden, was der Fehler ist, und wenn ich es leicht habe zu verstehen, was zum Teufel ist weiter und wie man diesen Code am besten wiederverwendet, um etwas sehr Ähnliches zu tun.

Es ist gut, eine DB oder eine Datenschicht aufzuteilen. Es ist letztendlich ein Grund, warum ich nicht einfach so viel Zeit gespart habe, als würde ich mir am Abend zuvor alle fünf Minuten Zeit nehmen, um die Wäsche zu waschen, anstatt am nächsten Morgen 10 Minuten damit zu verbringen, deine Boxer zu frieren und paranoide Geruchskontrollen durchzuführen.

Für mich waren es diese egoistischen Motivationen, die immer der Hauptgrund dafür waren, dass ich nicht nur an unauffälligen JS festhalte, sondern auch an der Trennung von Stil / Verhalten / Inhalten, so weit wie möglich, selbst wenn WHAT-freaking-WG ihr verdammtstes tut Verwirren Sie diese Bedenken auf verständlicherweise großartige und coole / handliche Weise.

Jetzt, da alle SPAs durchführen und es fast albern ist, das Geschäft davon zu überzeugen, dass wir uns um Leute kümmern sollten, die ohne JS arbeiten (Barrierefreiheit kann jetzt angeblich mit JS-generierten Inhalten behandelt werden), scheint es der nächsten Generation von JS-Entwicklern weniger wichtig zu sein Aber IMO, es gibt immer noch einen Gewinn und es ist hauptsächlich für Sie, den Entwickler, der dieses Zeug schreibt und pflegt. Und wirklich, dieser Gewinn hätte immer der am meisten unterstrichene Punkt sein sollen, war es aber nie aus irgendeinem Grund, weil er letztendlich Ihnen und auch dem Produkt durch einen glücklichen Zufall zugute kommt, da er einfacher zu optimieren / zu modifizieren / zu debuggen ist.

Ist es jemals in Ordnung?

Nun ja, ich denke. In einer Einweg-Wegwerf-App für einen Wettbewerb oder so. Aber ich würde es trotzdem tun, nur weil ich es mir angewöhnt habe und es eigentlich nicht schwieriger ist.


1

Wenn Sie Ihre Zielbetriebsumgebung kennen, können Javascript und Frameworks wie jQuery ein wahrer Glücksfall sein. Zum Beispiel in einer Unternehmensumgebung, in der das SOE über Javascript und IE8 verfügt, ist es mehr als sicher, intensive clientseitige Browseranwendungen zu schreiben.


1

Die Erleichterung einer ordnungsgemäßen Verschlechterung ist nur einer der vielen Faktoren, die unauffälliges JavaScript zu einer attraktiven Wahl machen, und meiner Meinung nach ist es nicht der wichtigste.

Aus persönlicher Erfahrung würde ich sagen, dass, wenn Sie über ein größeres Projekt sprechen, das sich wahrscheinlich im Laufe der Zeit stark weiterentwickelt, die Verwendung eines unauffälligen Stils die Wartung, das Debuggen und das Refactor der Anwendung erheblich erleichtert. Dies ist der Hauptgrund, warum wir immer einen unauffälligen Stil verwenden, selbst auf Websites, auf denen JavaScript für alle Besucher aktiviert werden muss.


+1 an Shang für dieses Juwel "Die Erleichterung einer anmutigen Verschlechterung ist nur einer der vielen Faktoren, die unauffälliges JavaScript zu einer attraktiven Wahl machen, und meiner Meinung nach ist es nicht die wichtigste." Die Implementierung von Javascript kann manchmal ein zweischneidiges Schwert sein, das ich persönlich gefunden habe
MattyD

1

Wenn Sie eine traditionelle "Website" entwickeln, die anonym verfügbar ist, von Suchmaschinen indiziert wird und bei der Einnahmen durch Anzeigen generiert werden, sollten Sie im Allgemeinen eine angemessene Verschlechterung erzielen. Die Idee ist, dass diese Art von Website durch Barrierefreiheit lebt und stirbt. Wenn Sie also die Barrierefreiheit einschränken, verlieren Sie eine Menge Seitenaufrufe und damit Werbeeinnahmen.

Ein eingeschränkter Zugriff, im Allgemeinen nicht indizierbar und nicht auf Werbeeinnahmen basierende "Website" (Webanwendung), kann viel flexibler sein. Es kommt auf eine Entscheidung zwischen der Breite des Supports, der Tiefe der Funktionen und den Entwicklungskosten an. Stellen Sie sich vor, Sie entwickeln eine traditionelle Anwendung: Welche Plattform unterstützen Sie und welche Mindestanforderungen gelten? Wenn Sie nur eine Plattform und begrenzte Spezifikationen anstreben, können Sie sich darauf konzentrieren, ein überlegenes Produkt mit geringeren Entwicklungs- und Supportkosten auf Kosten des Verlusts potenzieller Marktanteile bereitzustellen.

Beispiel: Die Google-Suche ist eine Website. Google Text & Tabellen ist eine Webanwendung. Die Google-Suche ist ohne Schnickschnack und kann ohne JavaScript, CSS und / oder Bilder usw. identisch funktionieren. Sie funktioniert in Browsern im Textmodus genauso gut wie in den neuesten GUI-Browsern. Google Text & Tabellen funktioniert einfach nicht mit deaktiviertem JavaScript und wird nicht einmal ordnungsgemäß beeinträchtigt - nicht einmal eine Warnung zum Aktivieren von JavaScript.


1

Ich bevorzuge es, das meiste Layout und die Navigation in CSS zu erledigen. Ja, Lynx unterstützt es möglicherweise nicht, aber alle mir bekannten Browser mit vollem Funktionsumfang können es nicht deaktivieren. Dann kann JavaScript für auffälligere, aber nicht erforderliche Dinge verwendet werden. Zu diesem Zweck mag ich auch Ruby on Rails. Es kann viel von dem tun, was JavaScript für die Serverseite benötigt, solange Sie keine dynamischen Seitenaktualisierungen benötigen.

Zielgerichteter auf die Beantwortung der Frage: Ich mag kein benötigtes JavaScript, aber es gibt einen Business Case, in dem es erforderlich ist, wie ChrisF feststellte.


0

Javascript ist der Defecto-Standard, wenn es um dynamische Inhalte geht, die clientseitig bereitgestellt werden. Wenn sie kein JS haben, haben sie wahrscheinlich kein Silverlight.

Dann müssen Sie über Ihren Markt / Ihr Publikum nachdenken. Sind Sie programmers.stackexchcange oder bbc.co.uk/news? sehr unterschiedliche Zielgruppen.


0

Da Sie sich im Internet umschauen und auf vielen Websites "aufdringliches Javascript" sehen können, wird Ihre grundlegende Frage beantwortet. Ja, es ist in Ordnung, und viele beliebte Websites tun dies, sogar Google.

Wichtiger ist jedoch eine ordnungsgemäße Verschlechterung der Funktionalität. Auch wenn Sie darauf bestehen, dass für Ihre Benutzer Javascript aktiviert sein sollte, müssen Sie Nicht-JS-Benutzern ein angemessenes Maß an Erfahrung bieten, da sie sonst niemals bereitwillig zurückkehren.


Sie werden niemals über die erste Seite hinaus zugelassen.
Petah
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.