chrome.serial.getDevices() 挂在 Mac OS X
chrome.serial.getDevices() hangs on Mac OS X
我有一个打包的 Chrome 应用程序正在尝试从串口读取数据。但是,每次我调用 chrome.serial.getDevices()
,它都不会 return(我的函数也不会被调用)。
我的代码就像对浏览器操作按钮的点击做出反应一样简单:
chrome.browserAction.onClicked.addListener(function(tab) {
var onGetDevices = function(ports) {
alert("Devices");
for (var i=0; i<ports.length; i++) {
alert(ports[i].path);
}
}
alert("before");
chrome.serial.getDevices(onGetDevices);
alert("after");
});
显示 before
消息,但 after
消息不显示。我同样尝试过直接调用 connect()
,但它也没有 return.
chrome.serial.connect("/dev/tty.usbserial-AI02KQN0", {bitrate: 9600}, onConnect);
我读过一些 表明 Mac 上的 Chrome 无法从串行端口正确读取,但我不确定如果我遇到这个问题或其他问题。
有什么想法吗?我需要移动到 Windows 机器吗?谢谢。
伙计...我应该知道得更多。事实证明,我仍然将其作为扩展而不是应用程序发布。一旦我把它变成一个应用程序,设备列表就成功返回了。
我有一个打包的 Chrome 应用程序正在尝试从串口读取数据。但是,每次我调用 chrome.serial.getDevices()
,它都不会 return(我的函数也不会被调用)。
我的代码就像对浏览器操作按钮的点击做出反应一样简单:
chrome.browserAction.onClicked.addListener(function(tab) {
var onGetDevices = function(ports) {
alert("Devices");
for (var i=0; i<ports.length; i++) {
alert(ports[i].path);
}
}
alert("before");
chrome.serial.getDevices(onGetDevices);
alert("after");
});
显示 before
消息,但 after
消息不显示。我同样尝试过直接调用 connect()
,但它也没有 return.
chrome.serial.connect("/dev/tty.usbserial-AI02KQN0", {bitrate: 9600}, onConnect);
我读过一些
有什么想法吗?我需要移动到 Windows 机器吗?谢谢。
伙计...我应该知道得更多。事实证明,我仍然将其作为扩展而不是应用程序发布。一旦我把它变成一个应用程序,设备列表就成功返回了。