Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web applications DART Chrome.USB在前端web应用程序中使用时引发异常_Web Applications_Dart_Google Chrome App_Angular Dart_Webusb - Fatal编程技术网

Web applications DART Chrome.USB在前端web应用程序中使用时引发异常

Web applications DART Chrome.USB在前端web应用程序中使用时引发异常,web-applications,dart,google-chrome-app,angular-dart,webusb,Web Applications,Dart,Google Chrome App,Angular Dart,Webusb,我正在尝试在angular-4 DART web应用程序中使用DART的chrome.usb API。 但它不断抛出异常,因为U usb为空 if (_usb == null) _throwNotAvailable(); 作为一种解决方法,我围绕javascript库编写了一个DART包装器(灵感来源于)。这很有效。例如,当我能够与USB设备端点通信时;但是,该示例不是用DART编写的 然而,我不明白为什么使用DART的chrome.usb,它不起作用。我更愿意使用已经存在的chrome.us

我正在尝试在angular-4 DART web应用程序中使用DART的chrome.usb API。 但它不断抛出异常,因为U usb为空

if (_usb == null) _throwNotAvailable();
作为一种解决方法,我围绕javascript库编写了一个DART包装器(灵感来源于)。这很有效。例如,当我能够与USB设备端点通信时;但是,该示例不是用DART编写的

然而,我不明白为什么使用DART的chrome.usb,它不起作用。我更愿意使用已经存在的chrome.usbapi重新发明轮子

阅读某些网站时,他们指出chrome.usb仅限于web应用程序或扩展,需要manifest.json文件才能获得适当的权限(我尝试了manifest文件,但没有成功)。 不确定我是否误解了这些网站(因为我认为编写带有角度省道的SPA前端被认为是一个web应用程序),另外,在javascript库周围使用省道包装器时,它工作得很好


欢迎任何建议。

chrome.usb和WebUSB是两种不同的API。chrome.usb仅在不推荐使用的chrome应用程序中可用。WebUSB可用于任何网页(只要其通过HTTPS提供)。如果您正在使用的Dart包装器只支持调用chrome.usb API,那么您需要编写一个调用WebUSB API的新包装器。

当它在JS中工作时,它应该在Dart中工作。我会创建一个bug报告。Chrome应用程序是另一回事。它不是网络应用,也不是水疗。而且,它已被弃用。Chrome扩展无法访问Chrome.usb。像以前一样使用WebUSB。