diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
commit | 074785cea106179cb3305637055ab0a009ca74f2 (patch) | |
tree | e6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/ru/web/api/usb/requestdevice | |
parent | da78a9e329e272dedb2400b79a3bdeebff387d47 (diff) | |
download | translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2 translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip |
initial commit
Diffstat (limited to 'files/ru/web/api/usb/requestdevice')
-rw-r--r-- | files/ru/web/api/usb/requestdevice/index.html | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/files/ru/web/api/usb/requestdevice/index.html b/files/ru/web/api/usb/requestdevice/index.html new file mode 100644 index 0000000000..bb162ad242 --- /dev/null +++ b/files/ru/web/api/usb/requestdevice/index.html @@ -0,0 +1,82 @@ +--- +title: USB.requestDevice() +slug: Web/API/USB/requestDevice +tags: + - API + - USB + - WebUSB + - WebUSB API + - getDevices() + - Определение + - метод +translation_of: Web/API/USB/requestDevice +--- +<p>{{APIRef("WebUSB API")}}{{SeeCompatTable}}{{securecontext_header}}</p> + +<p>Метод <strong><code>requestDevice()</code></strong> интерфейса {{domxref("USB")}} возвращает {{jsxref("Promise")}}, возвращающий экземпляр {{domxref("USBDevice")}}, если необходимое устройство было найдено. Вызов этого метода начинает процесс соединения браузера с устройством.</p> + +<h2 id="Синтаксис">Синтаксис</h2> + +<pre class="syntaxbox notranslate"><em>USB</em>.requestDevice([<em>filters</em>])</pre> + +<h3 id="Параметры">Параметры</h3> + +<dl> + <dt>filters</dt> + <dd>Массив объектов, определяющих фильтры для устройств, к которым требуется подключиться. Каждый фильтр может содержать следующие свойства: + <ul> + <li><code>vendorId</code> - ИД производителя (USB VID)</li> + <li><code>productId</code> - ИД устройства USB PID</li> + <li><code>classCode</code> - код класса функциональности устройства</li> + <li><code>subclassCode</code> - код подкласса</li> + <li><code>protocolCode</code> - код протокола</li> + <li><code>serialNumber</code> - серийный номер</li> + </ul> + </dd> +</dl> + +<h3 id="Возвращаемое_значение">Возвращаемое значение</h3> + +<p>{{JSxRef("Promise")}}, возвращающий экземпляр {{DOMxRef("USBDevice")}}.</p> + +<h2 id="Пример">Пример</h2> + +<p>Этот пример запрашивает любое из перечисленных USB-устройств. Обратите внимание, указаны два разных PID. Оба присутствуют в списке фильтров для <code>requestDevice()</code>. При этом браузер покажет окно для выбора и подтверждения доступа к устройству. Только выбранное пользователем устройство будет передано в <code>then()</code>.</p> + +<p>Количество фильтров не определяет количество устройств, показываемых браузером. Например, если найдено только USB-устройство с product ID <code>0xa800</code>, браузер отобразит только одно устройство. Но, если браузер определит два устройства, совпадающих с первым фильтром, и еще одно, совпадающее со вторым, будут показаны все три устройства.</p> + +<pre class="brush: js notranslate">const filters = [ + {vendorId: 0x1209, productId: 0xa800}, + {vendorId: 0x1209, productId: 0xa850} + ]; +navigator.usb.requestDevice({filters: filters}) +.then(usbDevice => { + console.log("Product name: " + usbDevice.productName); +}) +.catch(e => { + console.log("There is no device. " + e); +}); +</pre> + +<h2 id="Спецификации">Спецификации</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Комментарий</th> + </tr> + <tr> + <td>{{SpecName("Web USB","#dom-usb-requestdevice-options-options","requestDevice")}}</td> + <td>{{Spec2("Web USB")}}</td> + <td>Изначальное определение.</td> + </tr> + </tbody> +</table> + +<h2 id="Совместимость">Совместимость</h2> + + + +<p>{{Compat("api.USB.requestDevice")}}</p> |