Javascript i';我试图隐藏我的网络视图,直到URL加载完毕

Javascript i';我试图隐藏我的网络视图,直到URL加载完毕,javascript,webview,ionic-framework,Javascript,Webview,Ionic Framework,我有一个ionic应用程序,可以将外部站点加载到webview中,每次在url加载完成之前加载webview时,我都会看到一个空白页面。我希望webview仅在url加载完成后显示。我还有一个用于loadstart的eventlistener,它意味着在点击url时关闭窗口并返回到ionic应用程序主屏幕,这在我的模拟器上工作,但在我的真实设备上它只显示一个带有符号的空白页面 $scope.login = function() { //check if netw

我有一个ionic应用程序,可以将外部站点加载到webview中,每次在url加载完成之前加载webview时,我都会看到一个空白页面。我希望webview仅在url加载完成后显示。我还有一个用于loadstart的eventlistener,它意味着在点击url时关闭窗口并返回到ionic应用程序主屏幕,这在我的模拟器上工作,但在我的真实设备上它只显示一个带有符号的空白页面

   $scope.login = function()
      {
        //check if network is connected before sending initial request
        if(monitor.isOffline())
        {
          var alertPopup = $ionicPopup.alert({
            title: 'Network Error!',
            template: "Your Network is Offline, please connect and try again"
          });
        }

        //show spinner while loading page
        $scope.show = function() {
          $ionicLoading.show({
            template: '<p>Loading...</p><ion-spinner></ion-spinner>'
          });
        };

        //hide spinner
        $scope.hide = function(){
          $ionicLoading.hide();
        };


        //send initial request
        AuthService.login($scope.user).then(
          function(home)
          {
            $scope.show($ionicLoading);
            if(monitor.isOnline())
            {
              $scope.show($ionicLoading);

              var ref = window.open(home, '_blank', 'location=no,toolbar=no');

              ref.addEventListener('loadstart', function (event)
              {
                if(event.url == "http://mobile.map.education/logout" )
                {
                  ref.close();
                }

              });
              ref.addEventListener('loaderror', function (event)
              {
                var alertPopup = $ionicPopup.alert({
                  title: 'Network Error',
                  template: "Oops,Error with your network"
                });

                ref.close();

              });

              $scope.hide($ionicLoading);

              //watch network state
              monitor.startWatching();
            }
            if(monitor.isOffline())
            {
              var alertPopup = $ionicPopup.alert({
                title: 'Network Error',
                template: "Oops,Error with your network"
              })
            }
          },
          function (errMsg)
          {
            var alertPopup = $ionicPopup.alert({
              title: 'Login failed!',
              template: errMsg
            });
          })
          .catch(function()
          {
            var alertPopup = $ionicPopup.alert({
              title: 'Login failed!',
              template: 'Server not responding'
            })
              .finally(function ($ionicLoading)
              {
                $scope.hide($ionicLoading);
              });
          });
      };
$scope.login=function()
{
//发送初始请求之前,请检查网络是否已连接
if(monitor.isOffline())
{
var alertPopup=$ionicPopup.alert({
标题:“网络错误!”,
模板:“您的网络处于脱机状态,请连接并重试”
});
}
//加载页面时显示微调器
$scope.show=函数(){
$ionicLoading.show({
模板:'正在加载…

' }); }; //皮纺纱机 $scope.hide=函数(){ $ionicLoading.hide(); }; //发送初始请求 AuthService.login($scope.user)。然后( 功能(家庭) { $scope.show($ionicLoading); if(monitor.isOnline()) { $scope.show($ionicLoading); var ref=window.open(home,“_blank”,“location=no,toolbar=no”); 参考addEventListener('loadstart',函数(事件) { 如果(event.url==”http://mobile.map.education/logout" ) { 参考关闭(); } }); 参考addEventListener('loaderror',函数(事件) { var alertPopup=$ionicPopup.alert({ 标题:“网络错误”, 模板:“Oops,网络出错” }); 参考关闭(); }); $scope.hide($ionicLoading); //监视网络状态 monitor.startWatching(); } if(monitor.isOffline()) { var alertPopup=$ionicPopup.alert({ 标题:“网络错误”, 模板:“Oops,网络出错” }) } }, 函数(errMsg) { var alertPopup=$ionicPopup.alert({ 标题:“登录失败!”, 模板:errMsg }); }) .catch(函数() { var alertPopup=$ionicPopup.alert({ 标题:“登录失败!”, 模板:“服务器没有响应” }) .finally(函数($ionicLoading) { $scope.hide($ionicLoading); }); }); };
我认为这只适用于
InAppBrowserPlugin
,但您可以使用
hidden=yes打开窗口

var ref = window.open(home, '_blank', 'location=no,toolbar=no,hidden=yes');
然后:

ref.addEventListener('loadstop', function(){
   ref.show();
});

检查此处的文档:

我认为这只适用于
InAppBrowserPlugin
,但您可以使用
hidden=yes打开窗口

var ref = window.open(home, '_blank', 'location=no,toolbar=no,hidden=yes');
然后:

ref.addEventListener('loadstop', function(){
   ref.show();
});

检查此处的文档:

在加载页面之前是否要隐藏
ref
窗口?是的,我要隐藏ref是否要在加载页面之前隐藏
ref
窗口?是的,我要隐藏ref