Javascript/web-dev:为什么你需要一个服务器来连接硬件
Javascript/web dev: Why do you need a server to connect to hardware?
许多JS应用程序都是客户端。但是,如果我想与Arduino接口,我需要在服务器上使用Node.js之类的东西。这是为什么?
出于安全和跨平台的原因,web应用程序仅限于沙箱。最初,web应用程序只需请求加载URL,在聚焦时处理键盘/鼠标输入,并控制窗口中的显示。
其他一切都取决于浏览器必须提供的附加API,因此默认状态仅限于此。同样,出于安全原因,无法从web应用程序访问操作系统的API。
那么,为什么当前的浏览器没有访问Arduino的API呢?除了从-100分开始的每一项功能外,原因是很难在不影响安全性的情况下允许对USB设备进行此类访问(例如,避免使用网络应用程序读取USB键盘输入,从而捕获未来的所有密码,或者让暖脚器过热)。
幸运的是,目前正在开发这样一个标准,它被称为WebUSB。然而,截至2016年5月,默认情况下没有浏览器支持它,尽管您可以通过更改chrome://flags/#enable-experimental-web-platform-features
的值在Chrome中启用它。
相关文章:
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- Javascript/web-dev:为什么你需要一个服务器来连接硬件
- 新的会话cookie直到下一个服务器请求才提供
- 客户端始终响应上一个服务器发送的事件,而不是当前事件
- 什么原生的javascript方法能够创建一个服务器
- 通过管道将多部分表单上载到另一个服务器
- PHP脚本,用于将目录从一个Linux服务器移动到另一个服务器
- 从JS访问另一个服务器XML
- 是否有一个服务器端JavaScript框架(node.js)可以在不使用模板引擎的情况下生成html页面
- 多个Node.js应用程序;在一个服务器文件的坏做法
- 将ajax请求发送到另一个服务器(特定的示例不起作用)
- 将Jquery从另一个服务器生成的链接的锚文本传递给Jquery变量
- 流星-从客户端取消一个服务器方法
- 使用jquery/javascript在aspx页面中填充一个客户端下拉菜单和一个服务器端下拉菜单
- 如何复制文件从谷歌驱动器到另一个服务器使用php
- 套接字.如何制作一个服务器
- Express node.js从node路由向另一个服务器发出get请求
- 为什么Javascript编程在一个服务器上工作而在另一个服务器上不行?
- 是否有一种方法可以让每个用户而不是每个选项卡运行一个服务器发送事件?
- 通过javascript访问另一个服务器的Form Action