Как разрешить расширению Chrome открывать информационный диалог сайта - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь создать расширение chrome, которое (помимо прочего) может подключаться к последовательному порту, указанному пользователем. Я уже нашел PWA, созданный с использованием node.js, он использует экспериментальную функцию, описанную здесь: https://wicg.github.io/serial/ Я могу позволить узлу запустить сервер и подключиться к нему. Я запускаю следующий код:

port = await navigator.serial.requestPort({});

, который открывает следующий диалог для пользователя:

Screenshot of working PWA serial port selector

Я не уверен Как называется этот тип диалогового экрана, он связан со значком «Просмотр информации о сайте», поэтому я назвал его в заголовке вопроса. В любом случае, я пытаюсь упаковать эту функцию в расширение chrome, но когда я запускаю тот же код, диалог не открывается, сразу же возвращаясь, как если бы пользователь нажал «отмена». Я получаю следующую ошибку:

Uncaught (in promise) DOMException: No port selected by the user.

Я думал, что, возможно, этот вид диалога требует разрешения в файле манифеста. Я не могу изменить способ выбора порта, поскольку, насколько я понимаю, соответствующий код находится в библиотеке черного ящика, принадлежащей Google.

1 Ответ

0 голосов
/ 04 февраля 2020

USB и Bluetooth не являются экспериментальными. API поддерживается Chrome и Edge и существует уже несколько лет. Я построил несколько PWA, используя USB.

Я не разработчик расширений, поэтому не уверен, что API раскрывается в этом контексте.

Есть все виды низкоуровневого программирования, которое вы нужно возиться с USB и Bluetooth в этом отношении. Но это довольно круто, как только вы запустите его:)

Кроме того, nodejs не имеет ничего общего с PWA. Это проблема серверной платформы.

...