FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: KernSani am 03 März 2018, 10:58:35

Titel: [Gelöst]Devicename in <a href in Rückgabewert von GetFn wird nochmal verlinkt
Beitrag von: KernSani am 03 März 2018, 10:58:35
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
Titel: Antw:Devicename in <a href in Rückgabewert von GetFn wird nochmal verlinkt
Beitrag von: rudolfkoenig am 03 März 2018, 11:00:45
Versuch mal bitte die Daten in <html>...</html> zu packen.
Titel: Antw:Devicename in <a href in Rückgabewert von GetFn wird nochmal verlinkt
Beitrag von: KernSani am 03 März 2018, 11:43:27
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 &lt;a href='/fhem?detail=freeze'&gt;freeze&lt;/a&gt; log ./log/frz-20180303-113638.log&amp;fwcsrf=csrf_615209971295933"> [Log]</a>: s:11:36:37 e:11:36:38 f:1.363 d...<br>
</pre>
</div>

Titel: Antw:Devicename in <a href in Rückgabewert von GetFn wird nochmal verlinkt
Beitrag von: Markus Bloch am 03 März 2018, 16:36:34
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>
Titel: Antw:Devicename in <a href in Rückgabewert von GetFn wird nochmal verlinkt
Beitrag von: KernSani am 03 März 2018, 16:59:15
OMG... Danke Markus, ich bin mir sicher das hatte ich schon probiert (aber vermutlich ohne die <html>s drumrum... Danke, so funktionierts :-)
Titel: Antw:Devicename in <a href in Rückgabewert von GetFn wird nochmal verlinkt
Beitrag von: KernSani am 03 März 2018, 20:23:11
Nur zur Ergänzung:
Ich habe jetzt den kompletten Befehl (inkl. der Argumente) urlEncoded. Damit funktioniert es zuverlässig.


Titel: Antw:[Gelöst]Devicename in &lt;a href in Rückgabewert von GetFn wird nochmal verlinkt
Beitrag von: Markus M. am 04 März 2018, 21:54:30
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.