Hallo zusammen,
ich habe mich durch FHEMWEB und fhemweb.js gewühlt, bin aber nicht wirklich schlau geworden. Folgendes Verhalten:
Ich habe eine GetFn, die eine Liste als Rückgabewert liefert - Innerhalb der Liste gibt es (für jede Zeile) einen Link mit weiteren Details zur jeweiligen Zeile. Im Popup, in dem der Rückgabewert der GetFn dargestellt wird, werden nun unglücklicherweise Devicenamen, die innerhalb des links vorkommen nochmal verlinkt, d.h. aus meinem ursprünglichem Link:
<a href="/fhem?get DEVICE getdetail>Detail</a>
(vereinfachte Darstellung)
wird sowas
<a href="/fhem?get <a href=">/fhem?detail=DEVICE">DEVICE</a>Detail getdetail</a>
(auch vereinfachte Darstellung)
Kann ich irgendwie unterbinden, dass innerhalb des Links Devicenamen nochmal verlinkt werden?
Danke,
Grüße,
Oli
Versuch mal bitte die Daten in <html>...</html> zu packen.
Hi Rudi,
danke für die schnelle Antwort. Hilft leider nicht. An welcher Stelle könnte ich denn suchen, um dem Ganzen auf die Spur zu kommen?
Falls es hilft, Rückgabe der GetFn:
<html>
<font color='green'><b>3</b></font> - 2018-03-0<a href="/fhem/fhem?cmd=get freeze log ./log/frz-20180303-113638.log&fwcsrf=csrf_615209971295933"> [Log]</a>: s:11:36:37 e:11:36:38 f:1.363 d...<br>
</html>
HTML-Source des Popups:
<div id="FW_okDialog" class="ui-dialog-content ui-widget-content" style="width: auto; min-height: 61px; max-height: 765.1px; height: auto;">
<pre>
<font color="green"><b>3</b></font> - 2018-03-03<a href="/fhem/fhem?cmd=get <a href='/fhem?detail=freeze'>freeze</a> log ./log/frz-20180303-113638.log&fwcsrf=csrf_615209971295933"> [Log]</a>: s:11:36:37 e:11:36:38 f:1.363 d...<br>
</pre>
</div>
Versuch mal die Leerzeichen mit %20 darzustellen (URL-Kodierung):
<font color='green'><b>3</b></font> - 2018-03-0<a href="/fhem/fhem?cmd=get%20freeze%20log%20./log/frz-20180303-113638.log&fwcsrf=csrf_615209971295933"> [Log]</a>: s:11:36:37 e:11:36:38 f:1.363 d...<br>
OMG... Danke Markus, ich bin mir sicher das hatte ich schon probiert (aber vermutlich ohne die <html>s drumrum... Danke, so funktionierts :-)
Nur zur Ergänzung:
Ich habe jetzt den kompletten Befehl (inkl. der Argumente) urlEncoded. Damit funktioniert es zuverlässig.
Ich bin auch erst wieder über sowas gestolpert, im Vergleich zu vor einem Jahr werden mittlerweile noch an mehr Stellen Links generiert.
Ich habe mir damit beholfen, den problematischen String zu zerteilen und erst beim Klick mittels JavaScript wieder richtig zusammenzusetzen.