angular 监听浏览器后退

// 避免新进页面时触发监听
vm.pageState = false;
setTimeout(function(){
    vm.pageState = true;
},1000);

// 监听浏览器后退事件
$scope.$on("$locationChangeStart", function(ev){
    if(vm.pageState){
          ev.preventDefault(); 
          // 以下为监听到返回的操作
          $Message.confirm({
              text: '您的信息快填完了,确认离开吗?',
              buttons: [{
                  text: '取消',
                  onTap: function() {
                     //取消的操作
                  }
              }, {
                  text: '确认',
                  onTap: function() {
                      vm.pageState = false; 
                      history.back(); //确认返回
                  }
              }]
          });
      }
  });
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容