Hay muchas respuestas a esto con respecto al paquete flutter_webview , pero ninguna para flutter_inappwebview , que estamos usando por varias razones.
Entonces, ¿hay alguna forma de activar un método desde cualquier lugar dentro del árbol de widgets de aleteo que publique/envíe cualquier cosa a la vista web de la aplicación que pueda escuchar allí con JS para hacer algo (como un archivo console.log con el mensaje recibido)?
También abrí un problema de github con un poco más de detalle y un fragmento de código para esto, aunque no estoy seguro de con qué frecuencia el desarrollador lo busca (tiene muchos problemas allí), así que pensé que tenía sentido preguntarle a la comunidad de stackoverflow. Aquí está el problema de github para mayor comodidad: https://github.com/pichillilorenzo/flutter_inappwebview/issues/1037
puede activar la función javascript desde flutter siguiendo estos pasos
Necesita ejecutar evaluar la función javascript de flutter como se muestra a continuación
_webViewController.evaluateJavascript(source: """ var event = new CustomEvent("demoJavaScriptListener", {detail: {}); window.dispatchEvent(event); """);Ahora, en el lado de Javascript, necesita escribir un oyente como se muestra a continuación
window.addEventListener("demoJavaScriptListener", (event) => { console.log("My custom Event"); var map= JSON.parse(JSON.stringify(event.detail)); console.log("map",map); });