由于您可以控制目标机器,这是完全可行的。一种方法是引入一个单独的组件来执行关机。 1.创建一个控制台应用程序(例如使用C#),它监听stdin,当它收到正确的输入时关闭机器。从C#关闭机器并不完全是微不足道的,而是Stackoverflow knows how it is done。 1.根据Google Chrome Native Messaging规范,使用适当的清单注册此应用程序。 1.使用Message Passing从您的网页(例如,在shutdownButton.click()上)调用此扩展。 单个步骤有点太宽泛,无法在一个答案中完全详细说明,但如果它们给您带来任何麻烦,您可以随时打开新的问题。
5条答案
按热度按时间hm2xizp91#
由于您可以控制目标机器,这是完全可行的。一种方法是引入一个单独的组件来执行关机。
1.创建一个控制台应用程序(例如使用C#),它监听stdin,当它收到正确的输入时关闭机器。从C#关闭机器并不完全是微不足道的,而是Stackoverflow knows how it is done。
1.根据Google Chrome Native Messaging规范,使用适当的清单注册此应用程序。
1.使用Message Passing从您的网页(例如,在shutdownButton.click()上)调用此扩展。
单个步骤有点太宽泛,无法在一个答案中完全详细说明,但如果它们给您带来任何麻烦,您可以随时打开新的问题。
7kjnsjlb2#
由于安全原因,如果不运行浏览器之外的东西,这是不可能的。
但是,如果页面是从服务器提供的,并且您希望关闭此服务器,请继续阅读:
一个可能的解决方案是在后台运行服务器,例如node.js。
在你的node.js服务器上,你可以监听你正在调用的特定url,在这个事件触发时,你可以向你的主机发送一个shutdown命令。然而,这会带来一些安全问题,你需要从外部阻止这个对node的调用(或者如果你希望其他人能够关闭它,就不要这样做)。而且你的node.js服务器必须以root权限运行,这也是有风险的。
看看https://github.com/typicode/stop-server,也许你能在里面找到对你有用的东西。
jexiocij3#
你最好的选择,据我所知,将是下载一个.bat,将关闭您的计算机和执行它,但除了IE,我不知道它是否会工作。
沿着这些路线的东西,运行你以前下载的。bat文件而不是记事本。注意,这只适用于IE。
kh212irz4#
你不能直接从WEB页面访问客户的计算机,这是不可能的。你只能访问浏览器,但它是非常有限的。
您只能使用
window.close()
关闭窗口选项卡。在此了解更多信息-https://developer.mozilla.org/en-US/docs/Web/API/Window/closey53ybaqx5#
您可以尝试通过API调用触发批处理脚本来关闭设备。