JS-Fehler in Chrome: line 0: Script error.

Begonnen von FunkOdyssey, 17 September 2019, 15:38:19

Vorheriges Thema - Nächstes Thema

FunkOdyssey

Hallo, ich habe eine FHEM-Installation auf der ich direkt auf FHEMWEB zugreife. Es ist kein Reverse Proxy davorgeschaltet.

Habe ich in FHEMWEB "longpoll = 1", so erscheint in Google Chrome nach einigen Sekunden (TimeOut?) der Javascript-Fehler:
line 0:
Script error.


Im Safari habe ich den Fehler nicht.




Ändere ich auf longpoll = websocket, so bleibt der Fehler in allen Browsern aus. Aber ich habe dann im iOS-Safari relativ schnell den Fehler "Connection Lost" und FHEMWEB wird nicht über im Hintergrund aktualisiert.




Ich weiß, dass dies hier im Forum bereits mehrfach zur Sprache kam. Aber eine richtige Lösung habe ich leider nicht gefunden.
Ich muss mich scheinbar entscheiden, ob der Fehler in Chrome erscheint oder ich die Connection-Lost-Hinweise haben möchte.

Hat hier jemand einen Tipp?

rudolfkoenig

Ich tappe im dunkeln:
- greift Chrome direkt auf FHEM zu?
- gibt es das Problem auch im Inkognito-Modus (ich meine damit "ohne Plugins")

FunkOdyssey

Zitat von: rudolfkoenig am 17 September 2019, 15:59:50
- greift Chrome direkt auf FHEM zu?

Direkt über Port 8083 und FritzBox-Freigabe.
Mir ist bekannt, dass diese Lösung unglücklich ist.

Zitat von: rudolfkoenig am 17 September 2019, 15:59:50
- gibt es das Problem auch im Inkognito-Modus (ich meine damit "ohne Plugins")
Ja, gerade getestet.




Ich stelle gerade fest, dass ich im Firefox (longpoll=1) folgenden Fehler habe:

fhemweb.js line 1098:
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data


Davon bin ich gerade ein wenig überrascht, denn ich hatte nur Chrome in Verdacht.

rudolfkoenig

In der JS-Console wird das JSON ausgegeben (mit Rcvd: davor), kannst Du es bitte hier anhaengen?
Wenn es abgeschnitten ist, dann bitte das Abschneiden in der Zeile 1089 ausbauen.

FunkOdyssey

Ich komme an das JSON leider nicht heran. Es sollte doch vermutlich einfach aufklickbar sein in der Konsole, oder?
Aber ich sehe nur folgende Meldungen:

Chrome
fhemweb.js:500 16:15:56.853 f18.js resize W:1920 S:1920
fhemweb.js:500 16:17:51.667 Rcvd:
fhemweb.js:500 16:17:51.668 Rcvd: HTTP/1.1 502 badgateway
VM488:1 Uncaught SyntaxError: Unexpected token H in JSON at position 0
    at JSON.parse (<anonymous>)
    at XMLHttpRequest.FW_doUpdate (fhemweb.js:1098)
FW_doUpdate @ fhemweb.js:1098
fhemweb.js:500 16:17:51.704 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:500 16:17:56.611 ERRMSG:<
fhemweb.js:500 16:17:56.710 Inform-channel opened (HTTP) with filter room=Jalousien


Firefox
16:21:04.840 Inform-channel opened (HTTP) with filter room=Jalousien
fhemweb.js:500:5
16:21:07.319 f18.js resize W:1920 S:1920
fhemweb.js:500:5
16:23:06.941 Rcvd:
fhemweb.js:500:5
16:23:06.944 Rcvd: HTTP/1.1 502 badgateway
fhemweb.js:500:5
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data[Weitere Informationen]
fhemweb.js:1098:13
16:23:07.039 ERRMSG:Connection lost, trying a reconnect every 5 seconds.<
fhemweb.js:500:5
16:23:11.942 ERRMSG:<
fhemweb.js:500:5
16:23:12.044 Inform-channel opened (HTTP) with filter room=Jalousien
fhemweb.js:500:5


rudolfkoenig

Da sind wohl irgendwelche Komponenten dazwischen (Virus-Pruefer, Browser-Plugin, Proxy, ...), die das "HTTP/1.1 502 badgateway" erzeugen, sowas schickt FHEMWEB nicht.
Evtl. siehst du im Netzwerk-Tab der JS-Console mehr, sonst muss man die Zwischenkomponente finden und deaktivieren..

FunkOdyssey

Danke für deine Unterstützung. Noch ein kleiner Zwischenstand.
Über die Netzwerkanalyse konnte ich nichts finde.
Firewall oder Virenscanner sind es nicht.
Ich werde vermutlich einfach einen vernünftigen ReverseProxy davorschalten. Damit habe ich nämlich nie Probleme gehabt. Dies hat auch den Vorteil, dass ich mehr als 5 FHEM-Tabs gleichzeitig öffnen kann.

Danke dir, Rudi.

febus

Moin, ich habe auch das Problem mit Line 0 Script Error, aber im Edge Browser auf iOS. Safari hat kein Problem und Edge auf Win 10 auch nicht. Ich weiß nicht so recht, wo ich anfangen soll zu suchen...
Danke und Gruß,
Marc

Viele Grüße,
Marc

cpu6502

Ich kann bestätigen, das der Fehler immer noch bei Edge auf iOS auftritt, aber bei mir nur auf dem iPad Pro, nicht auf meinem iPhone 11! Andere Browser (chrome und Safari) machen keine Probleme. Schon merkwürdig. Hat da jemand eine Idee?

fhem-challenge



ich hab den gleichen Fehler an einer abstrusen Stelle, und zwar nur am WebOS ... mein LG TV.

chrome,safari gehen problemlos.

Im LG TV ist das extrem nervig, da ich mein fhem damit de facto im LG TV nicht nutzen kann.



Zitat von: FunkOdyssey am 17 September 2019, 15:38:19
Hallo, ich habe eine FHEM-Installation auf der ich direkt auf FHEMWEB zugreife. Es ist kein Reverse Proxy davorgeschaltet.

Habe ich in FHEMWEB "longpoll = 1", so erscheint in Google Chrome nach einigen Sekunden (TimeOut?) der Javascript-Fehler:
line 0:
Script error.


Im Safari habe ich den Fehler nicht.




Ändere ich auf longpoll = websocket, so bleibt der Fehler in allen Browsern aus. Aber ich habe dann im iOS-Safari relativ schnell den Fehler "Connection Lost" und FHEMWEB wird nicht über im Hintergrund aktualisiert.




Ich weiß, dass dies hier im Forum bereits mehrfach zur Sprache kam. Aber eine richtige Lösung habe ich leider nicht gefunden.
Ich muss mich scheinbar entscheiden, ob der Fehler in Chrome erscheint oder ich die Connection-Lost-Hinweise haben möchte.

Hat hier jemand einen Tipp?

rudolfkoenig

Um das Problem zu fixen, waere ein Blick in die JavaScript Console hilfreich, da steht ueblicherweise mehr.

Moeglichkeiten die mir einfallen:
- die unterschiedlichen longpoll Werte (0, 1, websocket) explizit testen.
- das Setzen des confirmJSError Attributes auf 0, wobei das nur "Dreck unter den Teppich kehren" ist.

fhem-challenge

Zitat von: rudolfkoenig am 21 Dezember 2021, 10:30:53
Um das Problem zu fixen, waere ein Blick in die JavaScript Console hilfreich, da steht ueblicherweise mehr.

Moeglichkeiten die mir einfallen:
- die unterschiedlichen longpoll Werte (0, 1, websocket) explizit testen.
- das Setzen des confirmJSError Attributes auf 0, wobei das nur "Dreck unter den Teppich kehren" ist.

Änderung auf longpoll — websocket hatte bei mir (browser im WebOs des LG TV) gelöst.

viele Grüße

Andreas

minimac

Hallo zusammen,


Erst mal hierüber einen großen Dank an alle die FHEM entwickeln und betreuen.
Und geduldig unsere Fragen von den DAUS  beantworten und helfen.

Seit Jahren benutze ich FHEM das tut es klaglos, bis hin und wieder mal was klemmt, das lässt sich aber meistens recht einfach beheben.  Bis jetzt hat die Websuche immer geholfen, jetzt bin ich einmal aufgeschmissen.

Jetzt möchte ich aber noch mal dieses Problem mit dem Skript Fehler aufgreifen,  Dies taucht bei mir nur im iPhone und im iPad auf. Immer Safari und Firefox beklagen sich, mit diesem Skript Fehler, gut das ist nur ein Klick mehr.
Aber es wäre doch schön wenn man das irgendwie abschalten könnte.

Auf dem PC und Mac tauchen diese Probleme nicht auf. Auch wieder egal welchen Browser ich benutze.

Jetzt zu meiner Frage wo stelle ich das longpoll ein ?

Wie schon gesagt ich benutze das FHEM  bin aber aufgeschmissen wenn's um solche Einstellungen geht.

Ein Link wäre nett, wo ich nachlesen kann,  oder wie ich es hier einstelle, wo vor allem.

Vielen Dank für eure Hilfe.

PS. alle Updates wurden eingespielt und sind aktuell. Stand heute 12:00 Uhr.

rudolfkoenig

ZitatEin Link wäre nett, wo ich nachlesen kann,  oder wie ich es hier einstelle, wo vor allem.
wenn ich den Beitrag von fhem-challenge richtig verstehe:
attr WEB longpoll websocket

siehe auch https://fhem.de/commandref_modular.html#longpoll
Fuer den "echten" Chrome ist websocket die Voreinstellung, leider ueberermittelt iOS ueber websocket kein BasicAuth, d.h. es funktioniert nicht mit Passwort geschuetzten FHEMWEB Seiten.

minimac

Danke für die schnelle Antwort Herr König,

in der commandref hatte ich das zwar gefunden, aber leider nicht verstanden, was das mit dem Problem mit dem Skript error, zu tun haben könnte.
Das läuft ja auf allen anderen PCs sogar auf dem Raspberry mit Chrom ohne Probleme.
Es ist nur bei den mobilen iOS Geräten.

Ich habe den longpoll jetzt auf null gesetzt, das Ergebnis ist aber das gleiche.
Der Skriptfehler bleibt bestehen, FHEM habe ich neu gestartet.
Den FHEM benutze ich nur in meinem lokalen Netzwerk und die Webseite ist nicht über ein Passwort geschützt.
Oder gilt das auch für Shellys ??, die habe ich Passwort geschützt!

Oder blamierte ich mich da jetzt?, weil ich das mit den Modulen dann nicht richtig verstanden habe.
Ich mach mir da wenig Gedanken darüber wie FHEM auf die einzelnen Schalter zugreift.

Ich bekomme das eingetragen und es funktioniert dann auch, fertig ist die Laube,
bin immer froh wenn es funktioniert. Dann habe ich wenigstens ein Teil richtig verstanden.

Bin da Autodidakt und versuche es erst mal selbst herauszufinden, bevor ich nach Hilfe rufe.
Im Event Monitor taucht auch kein Fehler auf, alle läuft nach meinem Gut dünken normal.

Jetzt wird es für mich noch verwirrender,

Auf dem iPad habe ich jetzt den Safari ausprobiert,

Da kommt kein Skriptfehler, aber mit dem Firefox ist das Problem geblieben.
Und auf dem iPhone mit Safari,  kommt dieser Fehler.

vg.js line 16:
SecurtyError: IDBFactoy.open()called in invalid security context

Irgendwas hat das mit der Sicherheitsdatenbank von Safari zu tun,

aber das hängt mir zu hoch. Warum dann nicht auch auf dem iPad?


Vielen Dank dass Sie sich Zeit nehmen.

Mit freundlichem Gruß

Jochen