Arbeitsinfos • Anwendungen • Systeminfos

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 implementiert. Weichen können zwar sinnvoll
sein, wenn man damit die noch immer existierenden Darstellungsunterschiede 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 ...