В настоящее время я работаю с inAppBrowser, чтобы открыть внешнее веб-приложение, я использовал executeScript и загрузил внешние js для взаимодействия с DOM, есть ли способ вызвать обратный вызов, когда я нажимаю кнопку отправки?
или способ получить доступ к DOM без executeScript?
Что мне нужно сделать, так это запустить обратный вызов по событию click, потому что мне нужно передать localStorage перед сменой домена.
index.js
onDeviceReady: function() {
if (navigator.connection.type == Connection.NONE) {
navigator.notification.alert('An internet connection is required to continue');
} else {
var options = "location=no,hidden=no";
var ref = cordova.InAppBrowser.open('extSite', '_blank', options);
ref.addEventListener('loadstop', function(event){
console.log("il link e' " +event.url);
if(event.url.startsWith("extSite")){
ref.executeScript({
file:'extfile'
});
}
});
}
}
extfile.js
document.getElementById('LoginButton').addEventListener('click', function(){
if (document.getElementsByName("RememberLogin")[0].checked==true){
var usr = document.getElementsByName('Username')[0].value;
var psw = document.getElementsByName('Password')[0].value;
if ((usr!="") && (psw!="")){
localStorage.setItem('Username', usr);
localStorage.setItem('Password', psw);
alert('data saved');
}
}
else {
localStorage.removeItem("Username");
localStorage.removeItem("Password");
}
});