Logo
Rätsel und Puzzles

≡ ▲

Javascript-Programme

Viele Rätsel können Sie interaktiv am Bildschirm lösen. Dazu muss allerdings Ihr Browser Javascript unterstützen. Wenn Ihr Browser kein Javascript unterstützt oder wenn Sie Javascript ausgeschaltet haben, dann wird Ihnen das Rätsel als Grafik präsentiert und Sie können es immer noch mit Papier und Bleistift lösen.

Javascript-Test

Grundvoraussetzung ist eine moderne, aktivierte Javascript-Implementierung. Hier ist ein kurzer Test:

Javascript aktiviert:
Canvas wird unterstützt:
Function.bind:
getPrototypeOf:
addEventListener:
Touch-Events:
Maus-Events:
Java verfügbar:
Cookies erlaubt:
HTML5 Local Storage:
HTML5 Session Storage:
HTML5 Indexed DB:
Screen Width:
Screen Height:
Screen Available Width:
Screen Available Height:
Window Outer Width:
Window Outer Height:
Window Inner Width:
Window Inner Available:
User Agent String:
Bevorzugte Sprache:
Bevorzugte User-Sprache:
Name des Browsers: ()
Version des Browsers:
Betriebssystem:

Bei den ersten beiden Einträgen muss unbedingt "JA" stehen; die anderen Einträge dienen vor allem zu Diagnosezwecken.

Wenn Javascript nicht aktiviert ist, siehe Aktivieren von Javascript.

Wenn Canvas nicht unterstützt wird, hilft nur, einen anderen (moderneren) Browser zu verwenden.

Cookie-Test

Die Scripts verwenden einige globale Cookies mit Einstellungen, die Sie hier sehen:

Name:
Mail:
Nachtfarben:
Farbenblind:

Javascript-Apps funktionieren nicht

Es gibt leider viele erschiedene Versionen und Implementierungen von Javascript und jede Menge Inkompatibilitäten zwischen diesen. Wir bemühen uns, unsere Apps auf so vielen Implementierungen wie möglich ablauffähig zu machen; aber es wird wohl nie der Fall eintreten, dass sie immer und überall laufen.

Positiv-Liste: Konkret wissen wir, dass die Apps auf folgenden Geräten laufen:

Negativ-Liste: Konkret wissen wir auch, dass die Apps auf folgenden Geräten nicht laufen:

Sollten sie ein Gerät haben, das in dieser Liste nicht aufgeführt ist, bitten wir Sie um Mitteilung per Mail, ob die Apps darauf laufen oder nicht.

Aktivieren von Javascript

Die Konfigurationsdialoge der einzelnen Browser ändern sich fast mit jeder Version. Es kann daher sein, dass die Konfigurationsschritte bei Ihrem Browser mehr oder weniger von der Beschreibung hier abweichen.

Internet Explorer:

Extras -> Internetoptionen
  Registerkarte »Sicherheit«
    wählen Sie die Zone aus, in der sich www.janko.at befindet
    wählen Sie »Stufe anpassen«
    aktivieren Sie »Active Scripting«
    OK
  OK

Firefox:

Extras -> Einstellungen
    Registerkarte »Inhalt«
      Kontrollkästchen »Javascript aktivieren« ankreuzen
      Erweitert
        Kontrollkästchen »Popup-Fenster verschieben oder ändern« ankreuzen
        Kontrollkästchen »Das Kontextmenü deaktivieren oder ersetzen« ankreuzen
        OK
  OK

Opera:

?

Google Chrome:

Menüsymbol (oben rechts)
  Einstellungen
  Erweiterte Einstellungen einblenden
  Datenschutz - Inhaltseinstellungen
  Javascript entweder
  – generell aktivieren oder
  – für www.janko.at aktivieren
  OK
OK

Sicherheit von Javascript

Javascript-Apps laufen in einer geschützten Umgebung ("Sandbox") ab; d.h. die Programme haben keinerlei Zugriff auf die Daten auf Ihrem Rechner; weder auf Ihre Dateien noch auf die Zwischenablage noch auf Systeminformationen.

Moderne Browser unterstützen eine eigenes, abgeschottetes Dateisystem ("HTML5 Web Storage" und "HTML5 Indexed DB"), die man in der Konfiguration des Browsers an- und abschalten kann. Auch diese Mechanismen erlauben keinen Zugriff auf das "echte" Dateisystem Ihres Rechners. Unsere Apps verwenden diese internen Dateisysteme derzeit nicht. Wir denken jedoch darüber nach, evtl. Spielstände darin abzulegen.

In der Vergangenheit ist immer wieder über Sicherheitslücken in Javascript berichtet worden. Diese Anzahl dieser Meldungen ist jedoch seit 2010 drastisch zurückgegangen; dafür haben die Meldungen über Sicherheitslücken in Java und PDF stark zugenommen. Javascript ist heute wohl die sicherste Methode der Webprogrammierung.

Diagnose von Problemen

Alle Browser bieten eine Fehlerkonsole an, versteckt in verschiedenen Menüs. Falls eine Rätsel-App nicht funktioniert, kann diese bei der Diagnose helfen. Aktivieren Sie bitte die Fehlerkonsole, reproduzieren Sie den Fehler und senden Sie uns, falls es Fehlermeldungen auf der Fehlerkonsole gibt, diese per Mail mit einer Fehlerbeschreibung. Danke!

Wie aktiviert man die Fehlerkonsole? Bitte bedenken Sie bei der folgenden Beschreibung, dass sich die Aktivierungsmethode mit jeder Version ändern kann!

Firefox:

Extras -> Web-Entwickler -> Fehlerkonsole

Google Chrome:

≡ -> Tools -> Entwicklertools

Internet Explorer:

Extras -> Entwicklertools

Opera:

Tools -> Advanced -> Error Console

Bekannte Probleme

Performance: Die Performance der verschiedenen Canvas-Implementierungen ist generell schlecht, was sich vor allem bei großen Diagrammen auswirkt. Es gibt nichts, was wir dagegen tun könnten; der Code ist bereits optimiert.

Zentrierung von Zeichen in Feldern: Es scheint unmöglich zu sein, die Zeichen in einem Feld so zu zentrieren, dass dies in allen Browsern funktioniert. Jeder Browser scheint die Zeichendefinition anders zu interpretieren.

Skalierung und Positionierung: Auf mobile Geräten (Tablets, Smartphones) skalieren die Browser die Seitendarstellung, stellen einer App aber nicht genügend Informationen bereit, die es uns ermöglichen würde, dass eine App wirklich auf jedem Gerät gleich ausseiht. Das wirkt sich leider auch auf die Positionierung von Popup-Fenstern aus, die nicht immer dort aufpoppen, wo sie aufpoppen sollten.

Rechtsklick funktioniert nicht in Firefox

Wenn der Rechtsklick in Firefox nicht wie beschrieben funktioniert; d.h. wenn statt der App-Funktion ein Firefox-Kontext-Menü angezeigt wird, dann liegt das an folgender Einstellung:

Java

"Das Kontextmenü deaktivieren oder ersetzen" muss angekreuzt sein! (Vielen Dank an Thomas Bieler, der dies herausgefunden hat.)

Diagramm bewegt sich unter dem Finger

Firefox unter Android (möglicherweise gilt das auch für andere mobile Betriebssysteme) kennt eine Option, die Titelleiste temporär auszuschalten, um mehr Platz für die Darstellung des Inhalts einer Seite zu haben:

Einstellungen -> Ansicht -> Titelleiste aus

Falls die Titelleiste ausgeschaltet ist, bewegt sich das Diagramm, wenn man den Finger darüber bewegt, beispielsweise um eine Linie zu ziehen oder Felder zu kopieren. Das ist ein Fehler, der klar der Spezifikation widerspricht.

Leider weigert sich die Firefox-Entwicklung, den Fehler zu beheben (Bugzille Report #1044370). Es gibt nichts, was ich tun könnte. Aber Sie haben die Wahl:

Wer es genauer wisse will: Unsere Programme verhindern, dass der Browser Fingerbewegungen über dem Diagramm selbst verarbeitet. Dies geschieht mit dem Aufruf von "preventDefault()". Spezifikation:

Calling preventDefault during any stage of event flow cancels the event, meaning that any default action normally taken by the implementation as a result of the event will not occur.

Firefox ignoriert diese Anweisung und verarbeitet die Fingerbewegung selbst

Javascript-Apps für die eigene Homepage

(in Vorbereitung)