Hallo,
gerade bastele ich an einem html-snippet, das als weblink htmlCode eingebunden werden soll - eine Fernbedienung, siehe Link (http://forum.fhem.de/index.php?topic=12988.msg79501#msg79501)
Jede Taste ist dabei als <a..><img..></a> angegeben.
Bei einem Tastendruck soll ein Befehl abgesetzt werden - das funktioniert auch, die URL ist in den anchor eingebettet.
1. Es ist unnötig, nach einem Tastendruck die Seite neu aufzubauen. Kann ich das mit irgendeinem Paramter in der URL erreichen?
2. Alternativ soll nach Tastendruck der aktuelle Raum nicht verlassen werden. Dazu müsste $FW_room in die URL eingebaut werden, diese Variable ist aber weder in der Datenumgebung des aufrufenden weblink htmlCode noch von der Routine in 99_mmyUtils.pm vorhanden. Kann ich den aktuellen Raum irgendwo auslesen bzw. liegt die bisherige URL in einer verfügbaren Variable vor, so dass ich den Raumnamen dort herausparsen könnte?
Oder gibt's vll. nen ganz anderen Weg zum Ziel? ;-)
Gruß, Uli
> Es ist unnötig, nach einem Tastendruck die Seite neu aufzubauen. Kann ich das mit irgendeinem Paramter in der URL erreichen?
Wohl kaum, da man mit plain HTML immer eine neue Seite anfordert, das Schalten ist nur ein Nebeneffekt.
Die Loesung ist die Verwendung von Javascript mit z.Bsp. XMLHttpRequest(), wie es z.Bsp. in fhemweb.js mit FW_cmd() gemacht wird.
> Kann ich den aktuellen Raum irgendwo auslesen...
MWn (noch) nicht.
Hi Rudi,
ah, vielen Dank. Falls es noch mal jemand brauchen sollte:
Bei sowas wie
my $cmd = "cmd.$dev=set $dev $onoff";
my $img = "<img src=\"$FW_ME/icons/$filename\">";
wird die Seite neu aufgebaut nach klick auf
$html .= "<a href=\"$FW_ME$FW_subdir?$cmd\">$img</a>";
Ohne Seiten-Neuaufbau geht's mit
$html .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$cmd')\">$img</a>";
Eine weitere Fallunterscheidung für smallscreen/touchpad kann man bei Bedarf nachsehen in FW_devState($$)
Fernbediente Grüße,
Uli