Home > SiteKiosk Object Model > Object Model para Chrome

SiteKiosk Object Model motor de navegador Chrome (SiteKiosk Windows clásico)

El lenguaje de programación tradicional de SiteKiosk Windows, llamado SiteKiosk Object Model, y concebido inicialmente para el motor de navegador IE, se readaptó con una versión para el motor de navegador Chrome (CEF Chromium).

Aunque el alcance y la documentación se ha simplificado respecto al SiteKiosk Object Model tradicional, es posible utilizar un emulador de SiteKiosk Object Model clásico para el motor Chrome.
Nota: para poder utilizar los objetos de SiteKiosk para Chrome en un script, ya no es preciso inicializar el interfaz de scripts mediante la siguiente función: window.external.InitScriptInterface() .
Consulte aquí la documentación del SiteKiosk Object Model para motor de navegador Chrome.


El SiteKiosk Object Model de SiteKiosk Windows cuenta con un gran número de recursos (más de 1000 objetos, métodos y propiedades), cuyo desarrollo se ha ido completando durante casi 20 años, y que sigue siendo válido para el motor de navegador Internet Explorer.

Para el motor de navegador Chrome, disponible desde SiteKiosk 9.x, una gran parte de los recursos de SiteKiosk Object Model necesitan reprogramarse de nuevo, por motivos técnicos, para su funcionamiento bajo el Chromium Embedded Frame (CEF) que utiliza SiteKiosk.

La siguiente documentación preliminar incluye los principales recursos de programación Object Model para Chrome:
http://www.sitekiosk.es/ayuda-object-model-chromium/


Emulador de SiteKiosk Object Model clásico para Chrome: el método callHostFunction

Mientras se completa la documentación de recursos específicos de SiteKiosk Object Model para Chrome como utilidad para los programadores que quieren utilizar algunas funciones ya conocidas del Object Model de IE, pueden utilizar esta función.

Este método se proporciona para utilizarse tal y como está. Tenga en cuenta que no es válido para un uso completo de todas las funciones del SiteKiosk Object Model clásico.
Por ejemplo, no se puede utilizar código relacionado con la ventana de navegador porque son específicos para el navegador IE y el código basado en eventos también puede ser problemático en muchos casos.

Un ejemplo básico es el siguiente:

var myReturnValue = _siteKiosk.objectModel.callHostFunction("system.windows.skLegacy.executeScript", "return SiteKiosk.Version.VersionString;");


El método callHostFunction requiere dos cadenas.
La primera debe ser siembre system.windows.skLegacy.executeScript.
La segunda es la que queremos ejecutar en el código clásico de SiteKiosk Object Model.

Esto puede ser una única línea como en ste ejemplo, donde consultamos la versión de SiteKiosk instalada en el sistema:
https://www.sitekiosk.es/ayuda-sitekiosk-object-model/default.htm?version_versionstring_prop.htm

El valor de retorno (return), es opcional, dependiendo del código ejecutado puede no existir un valor de retorno.

La segunda cadena puede tener múltiples líneas, como en el mismo ejemplo que combina la versión de SiteKiosk con la fecha de desarrollo:
http://www.sitekiosk.es/ayuda-sitekiosk-object-model/default.htm?version_builddatetime_prop.htm


El código del mismo ejemplo completado quedaría así:

var scriptText = `
var SKBuildDate = SiteKiosk.Version.BuildDateTime;
var SKVersionString = SiteKiosk.Version.VersionString;
return SKVersionString +( " " + SKBuildDate;
`;
var myReturnValue = _siteKiosk.objectModel.callHostFunction(("system.windows.skLegacy.executeScript", scriptText);


A continuación exponemos un segundo ejemplo en un archivo html que utiliza el objecto Multimedia el object model clásico para manipular el volumen del equipo:
https://www.sitekiosk.es/ayuda-sitekiosk ... ia_obj.htm

El código de este ejemplo es el siguiente:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script>
//method to initialize the SK Chrome Object Model
(new Function(_siteKiosk.getSiteKioskObjectModelCode()))();
</script>
</head>
<body>
<input id="id_test0" type="button" value="Volume Up" /><br />
<input id="id_test1" type="button" value="Volume Down" /><br />
<input id="id_test2" type="button" value="Volume 50%" /><br />
</body>
<script type="text/javascript">
siteKiosk.ready(function (){
document.getElementById("id_test0").onclick = function () {
_siteKiosk.objectModel.callHostFunction("system.windows.skLegacy.executeScript", "SiteKiosk.Multimedia.IncreaseVolume(0.1);");
};
document.getElementById("id_test1").onclick = function () {
_siteKiosk.objectModel.callHostFunction("system.windows.skLegacy.executeScript", "SiteKiosk.Multimedia.DecreaseVolume(0.1);");
};
document.getElementById("id_test2").onclick = function () {
_siteKiosk.objectModel.callHostFunction("system.windows.skLegacy.executeScript", "SiteKiosk.Multimedia.Volume=0.5;");
};
}());
</script>
</html>



Podemos copiar y pegar el código del ejemplo en el bloc de notas (o cualquier otro editor de texto), salvarlo como un archivo html, por ejemplo objectmodeltext.html, en la carpeta ..\SiteKiosk\html folder (que ya cuenta con permisos de ejecución). Entonces podemos editar la configuración para definirla como página de inicio en el navegador Chrome de SiteKiosk, y comprobar cómo funciona el object model clásico también el motor de navegador Chrome.


Vea también

SiteKiosk Object Model clásico
API SiteKiosk Online


Volver arriba