Arbeitsinfos • Anwendungen • Systeminfos


Neuronennetz


Auch zu dem hier kurz vorgestellten Thema gibt es komplette Webauftritte, die sich mit nichts anderem beschäftigen als mit der Nutzbarmachung von technischen Informationen eines Seitenbesuchers. Dabei ist es durchaus sinnvoll, die einfachen Systeminformationen für eine korrekte Seitenanzeige auszuwerten und zu verarbeiten. Es macht halt wenig Sinn, einem Besucher mit einem veralteten Browser eine HTML5-Seite (oder eine mobile bzw. responsive Webseite) zu präsentieren oder vielleicht nichts anzuzeigen, wenn der Benutzer JavaScript in seinem Browser deaktiviert hat.

Gesammeltes


In einigen kurzen Code-Snippets werde ich Ihnen auf dieser Seite kurz die Abfragen vorstellen, die ich im Zusammenhang mit dem aktuellen Webauftritt selbst eingesetzt habe. Schließlich sollten Sie schon wissen, welche Informationen man über den von Ihnen gerade verwendeten Rechner (gewollt oder ungewollt) ermitteln kann.

Einfache Systeminfos

Die wichtigste Voraussetzung, dass ich die technischen Informationen überhaupt abrufen und auswerten kann, ist aktiviertes JavaScript im dem Browser, den Sie gerade verwenden. Darauf kann ich von außen keinen Einfluss nehmen. Alle Daten, die hier ausgewertet werden können, stammen aber ausschließlich von Ihrem Rechner, denn JavaScript wird lokal (also auf Ihrem Rechner) ausgeführt und dann im Browser angezeigt. Das ist im Grunde noch gar nicht schlimm, wenn man nicht auch noch Cookies setzt und diese dann für Werbung missbraucht. Keine Sorge, von dieser Seite aus werden keine Cookies gesetzt!

Die folgende Tabelle gibt Ihnen einen nicht vollständigen Überblick über die einfachen Systeminfos, die mit JavaScript (so es denn aktiviert ist) abgefragt und verarbeitet werden können:

Information Abfrageergebnis
Browsername
Browser-Spitzname
Browserversion
Identifikation
Betriebssystem
Bildschirminfo
Systemdatum und -uhrzeit
Cookie-Info
JavaScript-Info

An einer ganzen Reihe von Funktionsstellen auf dieser Homepage habe ich in einem Noscript-Bereich eine Meldung hinterlegt, die dem Benutzer anzeigt, dass die entsprechende Aktion ohne JavaScript nicht durchgeführt werden kann (oder eine Funktion dann nicht zur Verfügung steht). Aber eine Extraseite für die Angsthasen habe ich dann doch nicht eingerichtet. Warum aber überhaupt JavaScript ...? Weil es vieles einfacher macht!

Weichenstellung

In der Webseitenversion vor dieser Version hatte ich für den Fall, dass jemand JavaScript in seinem Browser deaktiviert hat, doch tatsächlich noch eine Weiche mit einer Weiterleitung zu einer separaten Infoseite im­ple­men­tiert. Weichen können zwar sinnvoll sein, wenn man damit die noch immer existierenden Dar­stel­lungs­unter­schiede abfangen will, die man als brwosertypisch bezeichnet, aber auch dabei sollte man irgendwo einmal eine Grenze ziehen. Kein Mensch würde heute noch eine neue Webseite erstellen, die auch noch für einen Urzeit-Browser geeignet ist. Diese Zeiten sind vorbei - sogar bei mir. ;-)

Eine ganz simple JavaScript-Weiche lässt sich jedoch mit ganz wenigen Handgriffen realisieren. Wer so etwas braucht, der kann sich ja den folgenden Codes bedienen:

<script type="text/javascript">
  location.href="MIT-JavaScript.html";
</script>
<noscript>
  Seite ohne JavaScript <a href="OHNE-JavaScript.html">aufrufen</a>
</noscript>


Jetzt werden Sie sicher sagen, dass Sie genau das schon lange gewusst haben. Aber wie sieht es denn mit einer automatischen Weiterleitung aus, ohne dass man den Link für die zweite Datei anklicken muss? Diese Frage wird in sehr vielen Foren immer wieder gerne gestellt. Und immer wieder ist zu lesen, dass es hierfür keine HTML-Lösung gäbe. Aber stimmen diese immer wieder gelesenen Antworten? Schließlich stimmt es ja, dass Sie dafür nicht einfach die in der obigen Liste stehende JavaScript-Systemabfrage verwenden und weiterverarbeiten können, denn diese erfordert ja selbst schon JavaScript ...

Im Header einer HTML-Seite ist zwar der Script-Tag erlaubt, nicht jedoch der Noscript-Tag (zumindest nicht bei Doctypes vor HTML5). Das macht einerseits Sinn, andererseits nicht. Ebenso darf im Body-Tag einer HTML-Seite keine Meta-Angabe mehr stehen. Beides ist nicht valide aber es funktioniert. Auch wenn ich diese Technik selbst nirgendwo auf meinen Webseiten einsetze, so habe ich diese Überlegung immerhin mit dem Internet Explorer 8, mit Google Chrome 34.n, mit Firefox 29.0 und mit Opera 20.0 getestet - und es funktionierte:

<script type="text/javascript">
  location.href="MIT-JavaScript.html";
</script>
<noscript>
  <meta http-equiv="refresh" content="3; URL=OHNE-JavaScript.html">
</noscript>


Bei Opera darf aber der Noscript-Tag nicht im Header stehen, da dieser dort eben nicht interpretiert wird (weil ja nicht valide). So weit also die ersten Überlegungen. Doch ich habe für all jene, die gerne eine vollautomatische Weiche haben möchten, eine valide Lösung gefunden - und die ist denkbar einfach ...:

<head>
  <meta http-equiv="refresh" content="3; URL=OHNE-JavaScript.html">
</head>
<body>
<script type="text/javascript">
  location.href="MIT-JavaScript.html";
</script>
<noscript>
  Da kann eine kurze Meldung zur automatischen Weiterleitung stehen ...
</noscript>


Diese Lösung funktioniert nicht nur, sie ist auch W3C-konform. Ist JavaScript aktiviert, wird die Datei MIT-JavaScript.html ja direkt automatisch aufgerufen - und falls JavaScript nicht aktiviert ist, bleibt man auf der Seite, so dass mit dem Meta-Refresh die Alternativseite OHNE-JavaScript.html geladen werden kann.

Auf dieser Seite wollte ich Ihnen nur zeigen, dass bestimmte Informationen Ihres Systems für eine sinnvolle Auswertung durchaus benötigt werden, und dass JavaScript an sich ja nicht böse ist, solange man es nicht missbraucht. Aber so ist es wohl auch hier wie mit allen Werkzeugen, die man so oder so verwenden kann ...

zum Seitenanfang