Estamos cargando la URL dada en el navegador de la aplicación desde la aplicación iónica, que cargará el formulario HTML junto con un campo de entrada oculto.
Estoy tratando de obtener ese valor de campo oculto mientras toco el botón de enviar usando el método executeScript de inappbrowser de la siguiente manera:
browser.executeScript({ code: "var result; document.getElementById('BtnSubmit').addEventListener('click', function(){" + "result = document.getElementById('myInput').value;});", });En la variable de resultado, se obtiene el valor de entrada, pero es necesario devolverlo desde el script de ejecución al contexto de la aplicación iónica.
Debe adjuntar su respuesta al evento de mensaje de inappbrowser y luego recibirlo en el lado de la aplicación.
El siguiente script es para enviar un mensaje posterior. Tiene un formato particular en el que se pasa. Necesita crear un objeto JSON.
browser.executeScript({ code: "document.getElementById('customBackbtn').onclick = function() {\ var message = 'close';\ var messageObj = {message: message};\ var stringifiedMessageObj = JSON.stringify(messageObj);\ webkit.messageHandlers.cordova_iab.postMessage('stringifiedMessageObj');\ }"});Luego capture el mensaje de la publicación de iab en su aplicación:
browser.on('message').subscribe((val)=>{ const postObject:any = val; //Do whatever you want to with postObject response from inappbrowser });