Der HTML-Beispielcode kann kopiert und in einem Editor als HTML-Seite abgespeichert werden. Diese Seite kann im HTML-Unterverzeichnis des SiteKiosk Installationsordners gespeichert werden. Richten Sie die Seite für einen Test anschließend in der Konfiguration von SiteKiosk als Startseite ein und konfigurieren Sie mindestens ein Eingabegerät. Speichern Sie die Konfiguration und starten Sie danach SiteKiosk. Über die Testseite kann dann ein Listener für das konfigurierte Gerät eingerichtet werden und nachfolgend werden über das Gerät eingelesene Daten auf der Seite angezeigt.
Der Beispielcode kann modifiziert und auf jeder beliebigen Webseite genutzt werden, um mit den vom Gerät eingelesenen Daten zu arbeiten.
2.1 Internet Explorer-Variante
Das folgende Skriptbeispiel ist für die IE-basierten Varianten von SiteKiosk.
Bei Aufruf des Scriptes innerhalb von Frames muss die Zeile
window.external.InitScriptInterface(); in
window.external.InitScriptInterface(document);
geändert werden.
Mit Hilfe des
SiteKiosk Object Model und der Methode
SiteKiosk.RootApp.registerForDeviceData ist es möglich einen Listener zu registrieren, der auf Eingaben eines bestimmten Gerätes wartet und diese dann zur Verfügung stellt.
Verwenden Sie hierzu folgende
SiteKiosk Object Model Methode:
SiteKiosk.RootApp.registerForDeviceData(deviceName, callbackFunc)
|
deviceName = Der in der Konfiguration selbst gewählte Anzeigename des Geräts (String)
callbackFunc =
Name der Funktion, die nach dem Einlesen von Daten aufgerufen wird (String)
Die callbackFunc-Funktion hat zwei Parameter. Zum einen die Daten die eingelesen wurden als String und zum anderen der Name des Gerätes, über welches die Daten eingelesen wurden, ebenfalls in Form eines Strings.
Beispiel:
Das folgende Beispiel ist eine HTML-Seite mit einem Textfeld, über das der in der SiteKiosk Konfiguration eingestellte Gerätename angegeben werden kann, um den Listener per Button-Klick zu aktivieren. Liest man anschließend Daten über das ausgewählte Gerät ein, werden diese auf der Seite angezeigt. Bitte beachten Sie, dass Sie bei Verwendung von Seiten mit SiteKiosk Object Model Code die URL zunächst in der
SiteKiosk-Konfiguration
freischalten müssen.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Keyboard Emulation Device Test</title>
<script>
window.external.InitScriptInterface();
var callbackFunc = function (data, devicename) {
document.getElementById("text").innerHTML =
"Data received from device with the name: "
+ devicename + ". Data: " + data;
};
function registerDevice() {
var deviceName = document.
getElementById("devicename").value;
if(deviceName == "")
return document.
getElementById("foundDevice").
innerHTML = "The device name is empty!";
SiteKiosk.RootApp.
registerForDeviceData(deviceName, callbackFunc);
return document.getElementById("foundDevice").
innerHTML = "Registered device: " + deviceName;
}
</script>
</head>
<body>
<h1>Test page for reading the input of keyboard
emulation devices configured in the configuration
of SiteKiosk</h1>
<div>
Listen to input from this device that has been
configured in SiteKiosk:
<input id="devicename" tpye="text" />
(state the device name)
<button onclick="registerDevice()">
Register the listener</button>
</div>
<span id="foundDevice"></span>
<div>
Data that has been received:
<span id="text">Waiting for data...</span>
</div>
</body>
</html>
|
2.2 Chrome-Variante
Das folgende Skriptbeispiel ist für die Chrome-basierten Varianten von SiteKiosk.
Zur Initialisierung der Chrome-Version des SiteKiosk Object Model muss folgende Zeile aufgerufen werden:
<script>(new Function(_siteKiosk.getSiteKioskObjectModelCode()))();</script>
|
Dies bindet die notwendigen Skriptfunktionen ein. Anschließend kann über die Funktion
siteKiosk.devices.getAll eine Liste aller in der Konfiguration von SiteKiosk eingetragenen Geräte abgerufen werden.
siteKiosk.devices.getAll()
|
Die Funktion gibt einen JSON Wert mit allen Geräten zurück.
Um einen Listener für ein einzelnes Gerät einzurichten kann über die Funktion
siteKiosk.devices.getByName ein einzelnes Gerät angesprochen werden.
siteKiosk.devices.getByName(deviceName)
|
deviceName = Der in der Konfiguration selbst gewählte Anzeigename des Geräts (String)
Die Funktion liefert ein Objekt, dass das jeweilige Gerät repräsentiert. Mit der zu diesem Objekt gehörenden Funktion valueChanged kann der Listener registriert werden.
siteKiosk.devices.getByName(deviceName).valueChanged(callbackFunc)
|
callbackFunc =
Name der Funktion, die nach dem Einlesen von Daten aufgerufen wird (String)
Die
callbackFunc-Funktion hat zwei Parameter. Zum einen die Daten
die eingelesen wurden als String und zum anderen der Name des Gerätes,
über welches die Daten eingelesen wurden, ebenfalls in Form eines Strings.
Beispiel:
Das folgende Beispiel ist eine HTML-Seite mit einem Textfeld, über das der in der SiteKiosk Konfiguration eingestellte Gerätename angegeben werden kann, um den Listener per Button-Klick zu aktivieren. Liest man anschließend Daten über das ausgewählte Gerät ein, werden diese auf der Seite angezeigt. Bitte beachten Sie, dass Sie bei Verwendung von Seiten mit SiteKiosk Object Model Code die URL zunächst in der
SiteKiosk-Konfiguration
freischalten müssen.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Keyboard Emulation Device Test</title>
<script>(new Function(_siteKiosk.getSiteKioskObjectModelCode()))();</script>
<script>
var callbackFunc = function (data, deviceName) {
document.getElementById("text").innerHTML =
deviceName + " - " + data;
};
function GetDevices() {
var devices = siteKiosk.devices.getAll();
document.getElementById("devices").innerHTML =
JSON.stringify(devices);
}
function registerDevice() {
var deviceName = document.getElementById("devicename").
value;
if(deviceName == "")
return document.getElementById("foundDevice").
innerHTML = "No device found!";
var device = siteKiosk.devices.getByName(deviceName);
if(device == null)
return document.getElementById("foundDevice").
innerHTML = "No device found!";
device.valueChanged(callbackFunc);
return document.getElementById("foundDevice").
innerHTML = "Registered device: " +
JSON.stringify(device);
}
</script>
</head>
<body onload="GetDevices();">
<h1>Test page for reading the input of keyboard emulation
devices configured in the configuration of SiteKiosk</h1>
<div>Available devices:
<span id="devices"></span></div>
<div>
Listen to input from this device that has been
configured in SiteKiosk:
<input id="devicename" tpye="text" />
(state the device name) <button
onclick="registerDevice()">Register the
listener</button>
</div>
<span id="foundDevice"></span>
<div>Data that has been received: <span
id="text"></span></div>
</body>
</html>
|