Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

158
Vistas
flutter inappwebview no se imprime en la consola

Estaba estableciendo comunicación entre el sitio web y Flutter. Quiero enviar un mensaje al hacer clic en el botón y he implementado el código a continuación.

 <button onclick="buttonClick()" type="button">Cancel</button> <script> function buttonClick() { window.addEventListener("flutterInAppWebViewPlatformReady", function(event) { window.flutter_inappwebview.callHandler('cancelbuttonState', 1, true,['msg','CancelbuttonClicked'], {test:'Go-Back'}).then(function(result) { alert("Hello! Cancel Buttton clicked!!"); console.log('Hello! Cancel Buttton clicked!!'); }); }); } </script>

en flutter side he implementado lo siguiente para recibir el mensaje

 controller.addJavaScriptHandler( handlerName: "cancelbuttonState", callback: (args) async { print('Cancel Button clicked'); return args.reduce((curr, next) => curr + next); });

pero tanto JavaScript como la aplicación no me dan las gracias de impresión de la consola.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Está ejecutando la siguiente línea demasiado tarde dentro del cuerpo de la función de cancelación. Deberá agregar el oyente mucho antes para que se registre la devolución de llamada.

En otras palabras, estás escuchando un evento que ya terminó.

 window.addEventListener("flutterInAppWebViewPlatformReady" .....

Reorganice su código de manera similar a esto:

 <button onclick="buttonClick()" type="button">Cancel</button> <script> isAppReady = false; window.addEventListener("flutterInAppWebViewPlatformReady", function (event) { isAppReady = true; }); function buttonClick() { if (isAppReady) { window.flutter_inappwebview.callHandler('cancelbuttonState', 1, true, ['msg', 'CancelbuttonClicked'], { test: 'Go-Back' }).then(function (result) { alert("Hello! Cancel Buttton clicked!!"); console.log('Hello! Cancel Buttton clicked!!'); }); } } </script>
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda