JavaScript Aufruf über MenuEntries

Begonnen von christiang, 20 November 2016, 23:50:40

Vorheriges Thema - Nächstes Thema

christiang

Huhu,

ich würde gerne eine JavaScript Funktion über einen Eintrag in den MenuEntries aufrufen können.
Das funktioniert zwar grundsätzlich, bedarf jedoch einer (sehr kleinen) Änderung am FHEMWEB Modul.

Der Aufruf der js-Funktion wird dabei direkt in den href Befehl eingebaut. (z.b. <a href="javascript:myfunc();">).
Allerdings wird bei der Generierung der Einträge "/fhem?" vorangestellt, solang es sich nicht um einen Weblink handelt.

Zur Verdeutlichung:

attr WEB menuEntries test1,http://www.google.de,\      =>  <a href="http://www.google.de">test1</a>
test2,cmd=update+all,\                                              =>  <a href="/fhem?cmd=update+all">test2</a>
test3,javascript:myfunc();;                                          =>  <a href="/fhem?javascript:myfunc();">test3</a>

Dadurch funktioniert der JavaScript Aufruf allerdings nun leider nicht.
Zur Lösung muss lediglich in Zeile 1483 des Moduls neben '^http' und '.html$' auch noch auf '^javascript:' geprüft werden, also:
if($l2 =~ m/.html$/ || $l2 =~ m/^http/ || $l2 =~ m/^javascript:/ || length($target)) {

Wäre schön, wenn das eingebaut werden könnte.

Grüße,

Christian

rudolfkoenig


christiang

Vielen Dank. Funktioniert einwandfrei.