Cordova-当我单击提交按钮时,ExecuteScript回调

时间:2019-06-07 11:04:07

标签: javascript jquery cordova inappbrowser

我目前正在使用inAppBrowser打开一个外部Web托管应用程序,我使用executeScript并加载了外部js与DOM交互,当我单击“提交”按钮时,是否有办法触发回调? 或无需执行脚本即可访问dom的方法? 我需要做的是在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");
    }
});

0 个答案:

没有答案