Danny: Muß eine Seite grundsätzlich ohne Javascript laufen?

Hi Leute!

Mich plagt zur Zeit die Frage, wie viele User ich tatsächlich ausschließe, wenn meine Seite nicht mehr ohne Javascript auskommt... ?

Ich möchte Eure Meinung über Sinn, bzw. Unsinn solcher Design-Ansätze hören. Was nützt die coolste Website, wenn ohne JS überhaupt nix mehr geht?

Gruß,
Danny

  1. Hallo,

    Ich möchte Eure Meinung über Sinn, bzw. Unsinn solcher Design-Ansätze hören. Was nützt die coolste Website, wenn ohne JS überhaupt nix mehr geht?

    In den ersten 10 Minuten meiner JS-Kurse bringe ich etwa dieses Statement:

    JavaScript kann unterstuetzend bis frustrierend wirken (nuetzlich: Formularpruefungen, nett: Rollovers, nervig: PopUps), sollte aber die grundsaetzliche Zugaenglichkeit und Nutzbarkeit einer Seite nicht beeintraechtigen.

    Wenn JS nicht verfuegbar ist, sind ggf. einige (entbehrliche) Effekte dahin und Formularpruefungen muessen zusaetzlich auch Server-seitig stattfinden.

    MfG, Thomas

  2. Hallo,

    Zu Deinem Titel: Deine Seite _muß_ nicht mit JavaScript laufen, schließlich ist es allein Deine Entscheidung, was Du mit Deiner Seite machst. Sie _sollte_ aber auch ohne JavaScript laufen, da Du ja nicht eine gewisse Klientel ausschliessen möchtest.

    Das gleiche gilt i.Ü. auf für die Benutzer von Randgruppenbrowsern, auch hier sollte die Funktionalität der Seite gewährleistet sein.

    Kleinere Mängel im Design werden von den Besuchern ohne JavaScript sicher in Kauf genommen, Funktionalitätsfehler mit Sicherheit nicht.

    Markus Thomas

  3. Hi,

    es kommt darauf an, für wen Du Deine Seite machst.
    Für die breite Masse oder spezielles Publikum.

    Vielleicht schaust Du mal auf diese Seite:

    http://www.webhits.de/webhits/inetstat.htm

    Die Statistiken sind ganz interessant.

    Fraenk

    P.S. Ich vermute, das "Lieschen Müller" nicht groß
    an den Browsereinstellungen rumfummelt, sondern froh ist
    wenn Win läuft ;-)

    P.P.S. Hab ich mich jetzt zum "Verriss" freigegeben?

  4. Hallo

    Ja, eine Seite muß ohne Javascript laufen können, heißt, sie muß funktionieren.
    Ob ich z.B. Gimmicks wie den Mouseovereffekt der Navigation sehe oder nicht, ist mir egal, bei abgeschaltetem JS bemerke ich nicht mal, daß das vorgesehen ist.
    Notwendige Dinge, wie Formularprüfungen lassen sich auch Serverseitig bewerkstelligen.

    Fazit: Die Funktionalität einer Seite muß mit oder ohne JS gegeben sein.

    Tschüß, Auge

  5. Moin!

    Mich plagt zur Zeit die Frage, wie viele User ich tatsächlich ausschließe, wenn meine Seite nicht mehr ohne Javascript auskommt... ?

    Ich möchte Eure Meinung über Sinn, bzw. Unsinn solcher Design-Ansätze hören. Was nützt die coolste Website, wenn ohne JS überhaupt nix mehr geht?

    Eben, das ist immer ein Grund, auch eine Alternative anzubieten.

    Da ich gerade eine Site gebaut habe, die unlängst (gestern ;) ) veröffentlicht wurde, spreche ich da aus eigener Erfahrung. Es hat mich nur eine Stunde Zeit gekostet, am Ende noch eine Nicht-Javascript-Variante zu basteln.

    Schau es dir doch einfach mal an: http://www.glashaeger.de

    Dort hast du unter anderem bei den Produkten eine Art Galerie, die man durchklicken kann. Der User lädt nur eine Seite, welche aber Layer für alle anzuzeigenden Produkte enthält (leider ist dadurch die Ladezeit etwas groß, weil teilweise 200 KB durch die Leitung müssen, aber das ging leider nicht anders).

    Wenn du Javascript eingeschaltet hast, wird durch ein simples Layer-Anzeigen und -Verstecken weitergeschaltet. Wenn Javascript ausgeschaltet ist, wird vom Server eine neue Seite geholt, in der per PHP der anzuzeigende Layer auf visible gesetzt wird. Funktioniert genauso prima, nur muß man (was ohne Javascript eben garnicht geht) bei jedem Linkklick eine neue Seite vom Server holen und dabei eventuell vordefinierte Parameter in die URL packen.

    Naja, das übliche Ausweichverfahren bei Popups (href="ziel" target="_blank" onclick="funktion('ziel'); return false;") kommt natürlich auch zum Einsatz (teilweise auch einfach ohne target, weil es doof ist, den Klickweg ohne Warnung in einem neuen Browser fortzusetzen).

    - Sven Rautenberg

    1. Hi, Sven

      Schau es dir doch einfach mal an: http://www.glashaeger.de

      Erstmal Gratulation zur Site, ich mag den Aufbau.

      Es wäre für die Besucher mit deaktivierten Stylesheets (N4 ohne JS) vielleicht besser, die DIVs mit den Grafiken ans Ende der Seite zu stellen, damit man zum Inhalt nicht so weit scrollen muss.

      Nur so als Anregung, du hast ja nicht um ein Feedback gebeten ;-)

      LG Orlando

      1. Moin!

        Es wäre für die Besucher mit deaktivierten Stylesheets (N4 ohne JS) vielleicht besser, die DIVs mit den Grafiken ans Ende der Seite zu stellen, damit man zum Inhalt nicht so weit scrollen muss.

        Da hast du im Prinzip Recht, da wurde ein Vorteil von Layern nicht ausgenutzt. Mal gucken...

        Als Alternative fällt mir nur noch ein, Hintergrundbilder in die Layer zu packen - dann sparen Nicht-CSS-Browser sogar noch die Bandbreite. Das funktioniert aber mit dem Netscape 4 dann nicht, weil der die Layer nicht groß genug hinkriegt. Und Funktion mit Netscape 4 war gefordert (daß das Design nur MIT Javascript rüberkommt, muß der Kunde ja nicht wissen). ;)

        Nur so als Anregung, du hast ja nicht um ein Feedback gebeten ;-)

        Ich nehme alle Wortmeldungen interessiert auf. Bislang waren noch keine darunter, die ich mir nicht schon selbst gedacht habe, aber irgendwann mußte auch mal Schluß sein. :)

        - Sven Rautenberg

  6. Hallo Danny

    Mich plagt zur Zeit die Frage, wie viele User ich tatsächlich ausschließe, wenn meine Seite nicht mehr ohne Javascript auskommt... ?

    Im Mozilla-Browser gibt es nicht mehr nur ein JavaScript "ja/nein". Es gibt auch die Moeglichkeit, einzelne JavaScript-Features abzuschalten - naemlich:

    • automatisches Oeffnen von Fenstern
    • automatisches Verschieben oder Vergroessern/Verkleinern von Fenstern
    • Fenster minimieren oder minimierte wiederherstellen
    • Aendern des Inhalts der Statuszeile
    • Austauschen von Bildern
    • Anlegen oder Aendern von Cookies
    • Lesen von Cookies

    Das sind wohl diejenigen Features, die am meisten dazu beitragen, warum JavaScript nicht nur Freunde hat. Wenn du auf solche Features verzichtest und dann noch ein paar andere Nachteile in Kauf nimmst (z.B. den, dass via JS generierter Text nicht von Suchmaschinen indiziert wird, oder den, dass Leute mit abgeschaltetem JavaScript nun mal nichts haben von deinen Seiten und schnell wieder verschwinden werden), dann kannst du es durchaus verantworten, Seiten anzubieten, die nur mit JavaScript funktionieren.

    Du sprichst von der "coolsten Website". Hast du gewusst, dass 80% der User sich nicht die Bohne dafuer interessieren, wie eine Website aussieht, sondern nur nach Informationen darauf suchen?

    viele Gruesse
      Stefan Muenz

  7. Hi again!

    Vielen Dank für Eure Meinungen. Das hilft mir weiter. Besonderen Dank an Stefan Münz für die Info über einzeln ab/anschaltbare JS-Features und Sven Rautenberg für den Tipp.

    Bye,
    Danny

    1. Ergänzend:

      Mit "coole" Website meinte ich z.B. DHTML oder Design-Experimente, die Eindruck hinterlassen. Eine Seite für Webkunst eben.

      Aber genau deshalb ist es dann wohl keine gute Idee, keine alternative Standard-HTML-Variante anzubieten und somit den (vielleicht) auf den ersten Blick professionellen Eindruck kurz darauf auch schon wieder einen qualvollen Tod sterben zu lassen...

      In diesem Sinne: ...this would be cool... but forget it cause standards rule the world... and no standard is not cool... ;-)

      Danny "Valadan" Rehs

  8. Hallo Danny,

    ich mache zur Zeit bei HP eine Messung ob eine bestimmte
    Seite mit ein- oder ausgeschaltetem JavaScript besucht wird.

    Aktueller Stand:

    An: 21674 (55.2%)
    Aus: 17619 (44.8%)

    CYa
    GONZO

    P.S.: Seit wann die Zählung läuft, habich gerade nicht im Kopf

    1. Hallo GONZO!

      Aus: 17619 (44.8%)

      Die Zahl finde ich erstaunlich hoch, meine Statistiken vermerken monatlich zwischen 3 und 8% (Tendenz leicht steigend) Besucher ohne JavaScript.

      Grüße,
      Patrick

      1. hi

        Aus: 17619 (44.8%)

        Die Zahl finde ich erstaunlich hoch, meine Statistiken vermerken monatlich zwischen 3 und 8% (Tendenz leicht steigend) Besucher ohne JavaScript.

        auf jeden Fall zeigen diese Zahlen sehr deutlich, dass JavsScript seinen schlechten Ruf nicht verliert. Und dafür gibt es wohl viele Gründe:

        • immer mehr Websites nerven mit Popups, wobei Netscape 4, IE und ältere (oder alle bisherigen?) Netscape 6.x-Versionen diese nicht unabhängig vom Rest blocken können...
        • Der IE sammelt ein Sicherheitsloch mach dem anderen und Microsoft empfielt - oft voreilig - JavaScript abzuschalten

        mal ganz doof gefragt: wie kann man die User ohne JS am einfachsten zählen?

        1. Hallo Kai!

          mal ganz doof gefragt: wie kann man die User ohne JS am einfachsten zählen?

          Durch eine JS-Abfrage. Echt!

          Ich habe vor über einem Jahr, nachdem es immer wieder Probleme mit meinem damaligen Counter-Service Coutermania gab, es gewagt, mit kaum Perl-Kenntnissen einen eigenen "Zähldateien-Counter" zu programmieren. Im Grunde habe ich versucht, die von Countermania offerierte Oberfläche nachzubauen [1]. Zwar ist mein Counter etwas Buggy, vor allem wenn die (vom Counter generierte, eigene) Monatsdatei zu groß gerät (also derzeit immer ca. 10 Tage vor Monatsende), da läßt sich die Auswertung nicht mehr anzeigen, aber die Logdatei wird wenigstens *immer* geschrieben, so dass ich sie notfalls downloaden und offline (da gibt es am eigenen PC keine Speicherprobleme mit dem gleichen Script) betrachten kann.

          Die sogenannten "Zähldateien" sind ausgewählte Seiten des Atomic-Eggs- und SELFSPEZIAL-Angebot, im Grunde aber wird fast alles gezählt. Der Counter logt neben IP, Host, usw... über einen JavaScript-Aufruf auch noch die Bildschirmauflösung (in vielen Fällen zwar nicht brauchbar, aber auf die Besucher-Menge kriegt man schon eine *Idee* der meistbenutzten Auflösung), die Farbtiefe und -speziell für Atomic Eggs- ob die Frames oder NoFrames-Version besucht wurde.

          Bei ausgeschaltetem JS im Browser oder älteren Browsern bleiben alle diese Strings leer: da weiß ich, dass es also ein Besucher *ohne* JavaScript ist (ob abgeschaltet oder nicht vorhanden, das sehe ich anhand des UserAgents). Und so kann ich feststellen, dass, waren es zu Beginn meines Counters noch ca. 3%, so sind es mittleweile fast 8%, die insgesamt ohne JS surfen.

          http://www.atomic-eggs.com/cgi-bin/html_log.cgi

          [1] Ohne die Hilfe von CK wäre ich aber nur halb so weit gekommen. Er gab mir im Chat sehr gute Tipps gegeben und sogar das Zählscript optimiert ;-)

          Grüße,
          Patrick

  9. Hallo,

    ich denke (und wundere mich immer, daß es auch andere Meinungen dazu gibt ,-))))) das es einfach keine pauschale Antwort gibt. Es kommt vor allem darauf an, welchen Zweck man mit einer Seite verfolgt. Vielleicht kann ich es mir ja leisten, bestimmte potentielle Besucher auszuschliessen (also JS einzusetzen) weil meine Logistik eh nicht mehr Kunden aushält, weil alle JS-Besucher eh soviel Geld bringen das ich mir schon unanständig vorkomme oder weil ich gar nichts mit meiner Seite verkaufen will (inklusive Information) sondern mich nur über Feedback freue und mit dem zufrieden bin, der kommt.

    Will ich möglichst alle potentiellen Besucher mitnehmen, dann muß die Seite auch ohne JS funktionieren. Aber vielleicht ist die Seite ja wie ein Getränkemarkt auf der grünen Wiese angelegt: Nett für die Autofahrer, blöd für den fahrradfahrer. Aber eben soooo nett zur ersten Gruppe, daß auf die zweite dankend verzichtet werden kann. Sogar muß, weil bei einer Stadtinternen Lage zwar die Passanten mit der Karre auch Kästen kaufen können, aber weniger Autofahrer kommen.

    Es gibt keine pauschale Verpflichtung für "private" und "kommerzielle" Seiten, sich für jeden errichbar zu machen. (Sehr wohl allerdings bei  Seiten öffentlicher Institutionen....)

    Chräcker

    http://www.Stempelgeheimnis.de

    1. hi

      Will ich möglichst alle potentiellen Besucher mitnehmen, dann muß die Seite auch ohne JS funktionieren. Aber vielleicht ist die Seite ja wie ein Getränkemarkt auf der grünen Wiese angelegt: Nett für die Autofahrer, blöd für den fahrradfahrer. Aber eben soooo nett zur ersten Gruppe, daß auf die zweite dankend verzichtet werden kann. Sogar muß, weil bei einer Stadtinternen Lage zwar die Passanten mit der Karre auch Kästen kaufen können, aber weniger Autofahrer kommen.

      all diese vergleiche hinken aber an einer Stelle:
      oft werden bei solchen Sachen die eh kaum ergibigen Kunden ferngehalten. Nun ist aber z.B. das Problem, dass man aus der Option JS an oder aus weniger darauf schließen...

      Es gibt keine pauschale Verpflichtung für "private" und "kommerzielle" Seiten, sich für jeden errichbar zu machen. (Sehr wohl allerdings bei  Seiten öffentlicher Institutionen....)

      exakt. Allerdings sollte man eben immer daran denken, dass jedes Unnötige Problem die Besucherzahlen unnötig verringert - und gerade bei kommerziellen Seiten läßt sich relativ direkt aus den Hit auf die Kundenzahlen schließen.

      1. Hallo,

        all diese vergleiche hinken aber an einer Stelle:
        oft werden bei solchen Sachen die eh kaum ergibigen Kunden
        ferngehalten. Nun ist aber z.B. das Problem, dass man aus der
        Option JS an oder aus weniger darauf schließen...

        Ja und Nein. Bei den meisten (rate ich jetzt mal) stimmt das. Aber es gibt sicherlich Seiten, wo man auf bestimmte Dinge bauen kann. Computer-Spieler-Seiten (zumindest bei bestimmten Genres) haben "in der Masse" ein recht homogenes Zielpublikum was die technische Aussattunmg und "Bereitwilligkeit" angeht. Ich denke mal, daß bestimmte fernsehsender (will ja jetzt keinen beleidigen) auch eher von einem "Einschalten-lossurfen-Publikum" ausgehen können (jetzt mal neutral umschrieben ;-)) Das klapt auch bei anderen Bereichen. Fotografen, die gerne bei Werbeagenturen und/oder zeitungen landen wollen, können ruhig von einer Auflösung über 800 Pixel ausgehen etc.

        ABER: "im Grunde" hast Du natürlich recht. Es ist eben nur keine pauschale Wahrheit da, auch nicht im Bereich Webdesign.

        Chräcker

        http://www.Stempelgeheimnis.de

        1. hi

          Ja und Nein. Bei den meisten (rate ich jetzt mal) stimmt das. Aber es gibt sicherlich Seiten, wo man auf bestimmte Dinge bauen kann. Computer-Spieler-Seiten (zumindest bei bestimmten Genres) haben "in der Masse" ein recht homogenes Zielpublikum was die technische Aussattunmg und "Bereitwilligkeit" angeht. Ich denke mal, daß bestimmte fernsehsender (will ja jetzt keinen beleidigen) auch eher von einem "Einschalten-lossurfen-Publikum" ausgehen können (jetzt mal neutral umschrieben ;-)) Das klapt auch bei anderen Bereichen. Fotografen, die gerne bei Werbeagenturen und/oder zeitungen landen wollen, können ruhig von einer Auflösung über 800 Pixel ausgehen etc.

          sicher, eine Seite, die (fast) nur von Warez-Kiddies besucht wird, kann ohne Risiko 'nen IE6 (oder gibt's schon eine 7er beta irgendwo? :), alle Features aktiviert aber nur eine Farbtiefe von 16Bit erwarten...
          Der Grafiker wird da wohl eher Netscape 4 und eine *etwas* höhere Bildqualität erwarten können.
          Und dann gibt es noch Seiten, die einfach Informationen vermitteln... Diese *sollten* gar nichts erwarten, nichteinmal Frames.

          1. Hallo,

            (kanns mir nicht verkneifen, weiß ja, "was" Du meinst ;-) )

            Und dann gibt es noch Seiten, die einfach Informationen
            vermitteln...

            wieso meinst Du, daß eine Counterstrike-Clan-Seite oder eine JS-gesteuerte Bilderschau eines Fotografen keine Information vermittelt? ;-)))

            (jaja, Du beziehst Dich auf "weitesgehend durch text transportierte Information", ich ahne es, Du weißt es, aber viele vertuen sich da gerne. Weil sie die diese Information im Web mit guten Recht für wichtig erachten, werden die anderen Informations-Transportwege gerne einfach als Nichtexistent oder gerade mal für die Allgemeinheit (und die damit verbundenen allgemein gültigen Regeln) drittrangig angesehen... aber das nur am Rande ;-) )

            Chräcker

  10. Hi,

    leider wissen viele nicht, daß JavaScript die Webseite erweitern soll und nicht ersetzen. Natürlich können Dinge wie Berechnungen usw. nicht ohne JavaScript oder Server ablaufen. Aber für viele Dinge gibt es Techniken, die JavaScript und abgeschaltetes Scripting so kombinieren, so daß die Website auf beiden Varianten ideal läuft. Leider werden diese in den SelfHTML-Beispielen nicht angewendet, und so weiß leider kaum jemand davon.

    1. <noscript>...</noscript>-Tag
    In diesen Tag kommt rein, was bei ausgeschaltetem Scripting erscheinen soll. Von einfachen Aussagen, wie "Bitte Scripting einschalten" oder "Diese Seite läuft nur mit aktiviertem Scripting" bis hin zu Links zu einer Seitenübersicht, wenn das Menü der Website nur mit JavaScript funktioniert.

    Gute Menüscripts machen soetwas einfach, z. B. bei http://www.js-menue.de braucht man nur alle Ordner aufzuklappen (dafür gibt es einen Link unter dem Menü), und schon hat man eine Sitemap. Deren Quelltext wird dann in eine Datei gespeichert und durch obigen Tag vom Script automatisch in das Frameset geladen, falls das Scripting deaktiviert ist. Somit sind auch ohne Menü alle Seiten erreichbar, und den Suchmaschinen wird so auch ein Weg gelegt.

    Eine interessante Kombination findet sich auch bei heise.de bei den Auswahllisten-Feldern (aufklappbare Liste, wo man hinsurfen möchte): mit JavaScript reagieren sie sofort auf eine Auswahl, ohne JavaScript erscheint, wieder durch obigen HTML-Tag, ein "Go"-Button, der nach dem Anklicken das Formular an den Server überträgt, der dann die nächste Seite einblendet.

    Oder man progammiert eine Zufallslink-Funktion. Die läuft natürlich nur mit eingeschaltetem Scripting. Aber man kann mittels des noscript-Tags die Links voransetzen, alle mit gleicher Bezeichnung, Beispiel:
    <noscript>
      <a href="eins.htm">Link</a>
      <a href="zwei.htm">Link</a>
      <a href="drei.htm">Link</a>
    </noscript>
    <a href="javascript:zufallslink()">Zufallslink</a>
    <noscript>
     (funktioniert nur mit eingeschaltetem Scripting)
    </noscript>
    Da alle Links die gleiche Bezeichnung "Link" haben, entsteht wieder eine Art zufälliger Auswahlmöglichkeit.

    2. Fenster öffnen
    Auf vielen Websites funktionieren Fenster ohne störende Leisten nur mit JavaScript. Sie werden meist per
    <a href="javascript:agb()">AGB</a>
    oder
    <a href="#" onClick="agb()">AGB</a>
    aufgerufen.
    Schon die einfache Benutzung des Kontextmenüs "Link in neuem Fenster öffnen" versagt hier, erst recht natürlich abgeschaltetes Scripting.

    Aber es geht auch anders:

    <a href="agb.htm" target="_blank" onClick="agb();return false">AGB</a>

    oder all-in-one

    <a href="agb.htm" target="_blank" onClick="window.open('agb.htm','','resizable=true,scrollbars=true');return false">AGB</a>

    Hier wird ein normaler Link, der mittels target="_blank" ein neues Standardfenster öffnet, mit einer JavaScript-Funktion verbunden. Dabei verhindert das "return false" das Ausführen des normalen Links bei eingeschaltetem Scripting. Stattdessen wird dafür das Fenster mit den gewünschten Optionen geöffnet. Bei ausgeschaltetem Scripting wird die Datei aber ganz normal mit dem normalen Link und target="_blank" in einem neuen Fenster geöffnet.

    Einziger Nachteil: die verlinkte Seite muß sowohl in href als auch in der JavaScript-Funktion angegeben werden. Wenn man will, kann man dies auch noch ändern, indem man im Link "this" benutzt:

    <a href="agb.htm" target="_blank" onClick="fenster(this);return false">AGB</a>

    oder

    <a href="agb.htm" target="_blank" onClick="window.open(this,'','resizable=true,scrollbars=true');return false">AGB</a>

    Man könnte auch this.href benutzen, aber da Links wie das location-Objekt funktionieren, geht es wie beim location-Objekt auch ohne href.

    3. Forumularprüfung
    Sie funktioniert auch mit dem return-Wert, wie oben. Beispiel:

    <form onsubmit="return confirm('Formular jetzt absenden?')">

    Hier erfolgt bei eingeschaltetem Scripting eine Sicherheitsrückfrage. Bei ausgeschaltetem Scripting fällt die zwar weg, aber das Formular läßt sich dennoch abschicken.

    Dies wird in ähnlicher Form z. B. bei http://www.directbox.com eingesetzt, um vor dem Löschen der angekreuzten E-Mails eine Sicherheitsrückfrage zu stellen. Dies geht schnell und ohne Warten auf den Server.

    Fazit:
    Es gibt genügend Techniken, JavaScript einzusetzen, ohne daß man sich dafür oder dagegen entscheiden muß. Immer so programmieren, daß es auch ohne JavaScript geht.

    Viele Grüße

    Frank Bergermann

    1. Korrektur:

      in den Fenster-Optionen muß es natürlich nicht true heißen, sondern yes:

      <a href="agb.htm" target="_blank" onClick="window.open(this,'','resizable=yes,scrollbars=yes');return false">AGB</a>