javascript - temporizador - Apagar la computadora a través de la página web
temporizador para apagar pc (4)
Tengo una aplicación basada en web que se carga automáticamente en modo kiosco (pantalla completa) en el navegador web Chrome en la computadora del cliente que funciona con Windows 7. Quiero colocar un botón de apagado en la página web para que el usuario pueda apagar la computadora directamente.
- ¿Hay alguna posibilidad de lograr esto?
- ¿Cuáles son las mejores soluciones para Windows y Linux?
-PD-
Tengo control total sobre la computadora del cliente. (instalar otro software o extensiones de navegador). es una unidad POS de pantalla táctil.
No tiene acceso directo desde la página WEB a la computadora del cliente, es imposible. Solo tiene acceso al navegador, pero es muy limitado.
Solo puede cerrar la pestaña de la ventana, usando window.close()
. Lea más al respecto aquí - https://developer.mozilla.org/en-US/docs/Web/API/Window/close
Por razones de seguridad, esto simplemente no es posible sin ejecutar algo fuera de su navegador.
Sin embargo, si la página se sirve desde un servidor y desea cerrar este servidor, siga leyendo:
Una solución que sería posible es ejecutar un servidor en segundo plano, por ejemplo node.js.
En su servidor node.js puede escuchar una url específica a la que está llamando, al activar este evento puede enviar un comando de cierre a su host. Sin embargo, esto abre algunos problemas de seguridad, debe bloquear esta llamada al nodo desde el exterior (o no, si desea que otros puedan apagarlo). Y su servidor node.js tiene que estar ejecutándose con derechos de root, lo que también es arriesgado.
Eche un vistazo a https://github.com/typicode/stop-server, quizás pueda encontrar algo allí que sea útil para usted.
Su mejor opción, en lo que a mí respecta, es descargar un .bat que apague su computadora y lo ejecute, pero aparte de IE no estoy seguro si funcionará.
<script type="text/javascript" language="javascript">
function RunFile() {
WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run("c:/windows/system32/notepad.exe", 1, false);
}
</script>
algo similar a esto, ejecutando el archivo .bat que ha descargado previamente en lugar del bloc de notas. Tenga en cuenta que esto solo funcionará con IE.
Como tiene control sobre la máquina objetivo, esto es completamente factible. Una forma de hacerlo es mediante la introducción de un componente separado para realizar el apagado.
Cree una aplicación de consola (usando C #, por ejemplo) que escuche stdin, que apaga la máquina cuando recibe la entrada correcta. El apagado de la máquina desde C # no es del todo trivial, pero sabe cómo se hace .
Registre esta aplicación con un manifiesto adecuado dada la especificación de Google Chrome Native Messaging .
Llame a esta extensión desde su página web (por ejemplo, shutdownButton.click ()) usando Message Passing .
Los pasos individuales son un poco demasiado amplios para detallarlos en una sola respuesta, pero siempre puede abrir nuevas preguntas si le dan algún problema.