Ich vermeide die Benutzung von Javascript wo es nur geht, schalte es also nur in Ausnahmefällen ein (in der Regel in einem extra Browser, den ich nicht ständig verwende).
Gleichzeitig ist die Begeisterung mancher Entwickler dafür scheinbar grenzenlos. Klar, der dynamische Datenaustausch der Webseite für bestimmte Bedienfunktionen ist sehr komfortabel, und es wird erwartet daß Webseiten wie Desktopprogramme reagieren.
Nur, die Ausführung von Code einer Webseite auf dem lokalen Computer ist was anderes als das Anzeigen, und das kann zu Problemen führen:
Hier ein neues Beispiel1:
<?php print $user->name ?>'s profile
If
$user->name
contains JavaScript, your users are screwed.
Es geht darum, dass es zu oft Einfallstore z.B. für "Cross site scripting"-Angriffe gibt.
... There are no restrictions on a string's contents except those you enforce yourself. This makes strings fast and efficient, but also a possible carrier of unexpected data. ...
Es gibt seit langem das Konzept von "unaufdringlichem Javascript" (engl. "unobtrusive"), das ist der Anspruch daß die Funktionen der Webseite auch erreichbar sind bei abgeschaltetem Javascript. Es ist eine Frage der Kompetenz, das auch wirklich einzuhalten. Leider ist das zu vielen wurscht. Ich versuche Webseiten zu meiden, die Javascript zur Vorraussetzung machen.
Zu oft dient Javascript auch dazu, Werbung besonders aufdringlich einzubauen, und möglichst viel an Userdaten abzugreifen. Muß ich nicht unterstützen.
_____
Drupal - hier verwendet - benutzt zunehmend Javascript (und lädt eine solche Bibliothek). Aber bisher konnte durchgehalten werden, daß alles auch ohne Javascript funktioniert, von gewissen Komfortfunktionen meist administrativer Art abgesehen, bei denen man auch anders zum Ziel kommt.
Ich könnte bei meinen Drupal-Webseiten Javascript serverseitig ganz löschen, Drupal sollte das aushalten. Das bringe ich doch noch nicht fertig: Zum einen kann ich nicht beurteilen, daß ausgerechnet Seitenbenutzer mit Drupal-Erfahrung nicht doch irgendwie dann auf für sie unerwartetes Verhalten stoßen. Zum andern gibt es durchaus Momente, wo ich "im nichtöffentlichen Teil" bestimmte Verwaltungs-Funktionen mit JS verwende. Nicht unbedingt freiwillig, aber eigener, benutzerspezifischer Code im Admin-Bereich würde noch mehr Probleme nach sich ziehen ...
- 1. Der Artikel hat natürlich ganz andere Absichten.