[gelöst] JS-Fehler bei Link mit href="#" in STATE

Begonnen von Ellert, 02 Dezember 2017, 18:38:10

Vorheriges Thema - Nächstes Thema

Ellert

Ich möchte im Floorplan einen Link anzeigen, der ein Popupfenster öffnet, das funktioniert auch, aber nach Neuladen der Seite erhalte ich folgende Fehlermeldung.
Zitatline 164:
Uncaught SyntaxError: Failed to construct 'WebSocket': The URL contains a fragment identifier ('?XHR=1&inform=type=status;filter=fp_fptest=.%2B;iconPath=fptest;since=1512235498;fmt=JSON&fw_id=undefined×tamp=1512235495232'). Fragment identifiers are not allowed in WebSocket URLs.

Mit der Raw definition kann man es nachstellen. Man muss den Dummy noch in den Floorplan einbinden, das gibt Raw definition nicht her.

defmod fptest FLOORPLAN
setstate fptest Defined

defmod du11 dummy
attr du11 fp_fptest 50,200,1
attr du11 stateFormat <a href="#" onclick="FW_okDialog('Hallo')">open popup</a>

setstate du11 <a href="#" onclick="FW_okDialog('Hallo')">open popup</a>

mchilli

#1
wäre es nicht einfacher, wenn es einfach nur einen link anzeigen soll das ganze über weblink zu machen und diesen dann einzubinden?

define du11 weblink htmlCode {'<a href="#" onclick="FW_okDialog(\'Hallo\')">open popup</a>'}


PS.: Vielleicht funktioniert es ja damit  ;D

PPS.: Hab beides bei mir probiert und es funktioniert ohne Probleme.
Mehr als 3, der eine macht das, der andere was ganz anderes und einer was ganz ähnliches, was ein anderer auch machen soll.

Ellert

Der Link funktioniert in beiden Fällen.

Nach Aufruf des Links und anschliessendem Neuladen der Seite erscheint bei beiden Varianten die Fehlermeldung.

Insofern löst Dein Tipp das Problem nicht.

rudolfkoenig

Ich habe was gefixt, bitte testen.
@mchilli: man muss "attr WEB longpoll websocket" setzen, um das Problem zu provozieren.

mchilli

Jo hatte ich, hab es nur nicht sofort neu geladen wo der Dialog noch offen war.
Ok sry  ;D
Mehr als 3, der eine macht das, der andere was ganz anderes und einer was ganz ähnliches, was ein anderer auch machen soll.

Ellert

Zitat von: rudolfkoenig am 03 Dezember 2017, 19:34:22
Ich habe was gefixt, bitte testen.
@mchilli: man muss "attr WEB longpoll websocket" setzen, um das Problem zu provozieren.

Danke, es kommt keine Fehlermeldung mehr mit der gefixten fhemweb.js.