chrome串行API JavaScript无法访问客户端端口问题

chrome串行API JavaScript无法访问客户端端口问题,javascript,serial-port,Javascript,Serial Port,我正在尝试使用本地计算机中的串行端口进行通信。它甚至可以在本地IIS中运行。但从服务器上运行时,它不起作用。JavaScript是客户端语言,为什么会有这种差异?通过更改下面的脚本,是否可以通过授予一些特权来纠正此问题?还是有更多的chrome实验功能来实现这一点 网络系列 与串行设备连接 获取串行消息 “严格使用”; 类SerialScaleController{ 构造函数(){ this.encoder=新的TextEncoder(); this.decoder=新的TextDecode

我正在尝试使用本地计算机中的串行端口进行通信。它甚至可以在本地IIS中运行。但从服务器上运行时,它不起作用。JavaScript是客户端语言,为什么会有这种差异?通过更改下面的脚本,是否可以通过授予一些特权来纠正此问题?还是有更多的chrome实验功能来实现这一点


网络系列
与串行设备连接
获取串行消息
“严格使用”;
类SerialScaleController{
构造函数(){
this.encoder=新的TextEncoder();
this.decoder=新的TextDecoder();
}
异步初始化(){
if(导航器中的“串行”){
试一试{
const-port=await-navigator.serial.requestPort();
等待端口打开({波特率:9600});
this.reader=port.readable.getReader();
let signals=wait port.getSignals();
控制台日志(信号);
}
捕捉(错误){
console.error('打开串行端口时出错:',err);
}
}
否则{
console.error('您的浏览器中似乎未启用Web序列号。请尝试通过访问来启用它:');
控制台。错误('chrome://flags/#enable-实验性web平台功能);
控制台。错误('opera://flags/#enable-实验性web平台功能);
控制台。错误('edge://flags/#enable-实验性web平台功能);
}
}
异步读取(){
试一试{
const readerData=wait this.reader.read();
console.log(readerData)
返回this.decoder.decode(readerData.value);
}
捕捉(错误){
const errorMessage=`读取数据时出错:${err}`;
控制台错误(错误消息);
返回错误消息;
}
}
}
const serialScaleControl=新的serialScaleControl();
const connect=document.getElementById('connect-to-serial');
const getSerialMessages=document.getElementById('get-serial-messages');
connect.addEventListener('pointerdown',()=>{
SerialScaleControl.init();
});
getSerialMessages.addEventListener('pointerdown',async()=>{
getSerialMessage();
});
异步函数getSerialMessage(){
document.querySelector(“#serial messages container.message”).innerText+=wait serialScaleController.read()
}