Auf der Website vom DHV kann man normalerweise Kostenlos die DHV Info lesen. Das ist ein Magazin für Gleitschirmflieger mit aktuellen Artikeln über Flugtechnik, Fluggebiete und mehr. Alte ausgaben liegen als PDF vor, die aktuelle kann allerdings nur in einem Viewer angesehen werden, der zur Zeit verbuggt ist. Hier stelle ich einen Hack vor, wie man sie trotzdem lesen kann.
Auf der Website vom DHV findet man oben rechts den Link “Direkt zum ePaper”. Wenn man da rauf klickt (und angemeldet ist), dann öffnet sich ein Tool Namens Flipviewer in dem die Zeitschrift geladen wird. Man kann aber zur Zeit nicht umblättern.
Alles was ich im folgenden schreibe bezieht sich übrigens auf Google Chrome. In anderen Browsern wird das vorgehen ähnlich sein.
Mit der F12 Taste kann man die Chrome Console öffnen. In der findet sich der Fehler
engine.js:178 Uncaught TypeError: _gat._getTracker is not a function
at $…googleAnalyticsTrack (engine.js:178)
at engine.js:178
Offensichtlich soll in der engine.js Datei vom Flipviewer Google Analytics irgendwie eingebunden werden aber da gibt es einen Fehler und dadurch kann der Restliche Code nicht ausgeführt werden. Also wollen wir den Fehler verhindern, damit das Tool läuft. Dafür kann man in der Konsole direkt auf das engine.js:178 klicken.
Nun sind wir in der engine.js und Chrome hat für uns schon den Fehler markiert. Wir wollen etwas an der Datei ändern und Chrome soll unsere lokal veränderte Version Benutzen, damit es funktionier. Dafür muss man im “Sources” Tab, in dem wir jetzt sein sollten die linke Sidebar aufklappen. Dort gibt es auch wieder Tabs und wir wollen in den Tab “Overrides”.
Im Overrides Tab klickt man auf “+ Select folder for overrides”. Es öffnet sich ein Fenster wo man einen Ordner auswählen soll. Das ist der Ordner, in dem die lokale Kopie von der Javascript Datei abgelegt wird, die Chrome dann verwendet. Eigentlich ist egal wo man das hin macht. Am besten irgendwo, wo es nicht stört.
Chrome wird fragen, ob es wirklich Schreibrechte für diesen Ordner haben darf. Das bestätigen wir. Jetzt sollte man im Overrides Tab auswählen können “Enable Local Overrides”. Den Haken setzen wir.
Nun widmen wir uns wieder der engine.js. Der Fehler liegt irgendwo in _gat._getTracker in Zeile 178. Wir können wieder einfach auf den “(engine.js:178)” link klicken, dadurch springt der Cursor im Editor direkt an die Stelle, die den Fehler verursacht.
Jetzt ist ein kleines bisschen Programmierwissen gefragt, am einfachsten löschen wir den ganzen Teil.
,_gat._getTracker(window.Parameter.tracking_id)._trackPageview(a)
Dann können wir mit Strg+S speichern. Oben sollte jetzt ein Punkt neben engine.js sein. Das bedeutet, dass die lokale Version verwendet wird.
Jetzt können wir die Seite neu laden (F5) und sehen in der Konsole, dass der Fehler nicht mehr kommt. Ab jetzt können wir die Konsole auch schließen und solange wir die local overrides nicht wieder deaktivieren können wir ab jetzt immer unsere Zeitschrift lesen.
Nachtrag
Interessanterweise werden vom Flipviewer je nach Browser unterschiedliche Versionen geladen. Ich habe es noch mit dem guten alten Internet Explorer probiert und damit funktioniert es auch ohne Hack.