Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

460
Views
Qué es "Debe estar manejando un gesto de usuario para mostrar una solicitud de permiso". mensaje de error en Chrome Web Serial API?

Soy un verdadero principiante cuando se trata de programación. Mi intención es controlar un dispositivo con la API integrada en Google Chrome a través del puerto COM RS485. Intento reproducir el siguiente tutorial: https://web.dev/serial/

Aparece el siguiente mensaje de error en la consola:

"No detectada (en promesa) DOMException: no se pudo ejecutar 'requestPort' en 'Serial': debe estar manejando un gesto de usuario para mostrar una solicitud de permiso".

¿Cómo puedo solucionar este error?

Muchas gracias por su ayuda.

 <!DOCTYPE html> <html lang="de"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>examplepage</title> <script> async function caller() { // Prompt user to select any serial port. const port = await navigator.serial.requestPort(); // Wait for the serial port to open. await port.open({ baudRate: 9600 }); }; if ("serial" in navigator) { alert("Your browser supports Web Serial API!"); caller(); } else {alert("Your browser does not support Web Serial API, the latest version of Google Chrome is recommended!");}; </script> </head> <body> </body> </html>

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

El mensaje de error "Must be handling a user gesture to show a permission request." significa que se debe llamar a navigator.serial.requestPort() dentro de una función que responde a un gesto del usuario, como un clic.

En su caso, sería algo como a continuación.

 <button>Request Serial Port</button> <script> const button = document.querySelector('button'); button.addEventListener('click', async function() { // Prompt user to select any serial port. const port = await navigator.serial.requestPort(); // Wait for the serial port to open. await port.open({ baudRate: 9600 }); }); </script>
about 4 years ago · Juan Pablo Isaza Report

0

El siguiente código funciona. Espero que ayude a otros que estén interesados.

 <!DOCTYPE html> <html lang="de"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>examplepage</title> <script> async function start() { // Prompt user to select any serial port. const port = await navigator.serial.requestPort(); // Wait for the serial port to open. await port.open({ baudRate: 9600 }); } if ("serial" in navigator) { alert("Your browser supports Web Serial API!"); } else {alert("Your browser does not support Web Serial API, the latest version of Google Chrome is recommended!");}; </script> </head> <body> <button onclick="start()">Click me</button> </body> </html>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!