Ich arbeite gerade an einer Web-Anwendung, ich habe einen JS-Logging-Mechanismus, der Javascript-Fehler behandelt, die nicht durch den Js-Code innerhalb der Seite abgefangen werden. Ich verwende window.onerror, um alle diese Fehler zu erfassen und sie wo sonst zu protokollieren.
Problem ist jedoch bei Opera, das kein window.onerror-Ereignis hat. Eine Herangehensweise, an die ich denken könnte, ist, alle js-Funktionscodes mit einem String zu verarbeiten und try catch-Blöcke innerhalb dieser Funktionen nach dem Laden des Körpers einzufügen. Es funktioniert zwar in vielen Fällen nicht, aber es funktioniert zumindest teilweise.
Ich bin sicher, dass diese Herangehensweise scheiße ist. Aber ich konnte mir nichts Besseres vorstellen. Bitte beraten.
Update: Im Moment rufe ich den folgenden Code an, um so viele Fehler wie möglich zu fangen.
%Vor% Opera 11.60+ unterstützt window.onerror
.
Operas Dragonfly unterstützt ferne Debugging . Sie können es hacken (es ist alles in JavaScript geschrieben) und Fehler selbst protokollieren (leider die Protokoll ist noch nicht veröffentlicht ).
Hier wird erwähnt, dass Opera jetzt window.onerror unterstützt:
aber window.onerror scheint in Opera Mini nicht zu funktionieren (zB Benutzeragent "Opera / 9.80 (J2ME / MIDP; Opera Mini / 7.1.32422 / 30.3214; U; de) Presto / 2.8.119 Version / 11.10" ). Dies macht es wirklich schwierig, JavaScript auf Handys mit Opera Mini zu debuggen.
Tags und Links javascript opera