F7+vue 物理返回鍵監聽使用


以前使用的是純F7,這個項目加了Vue進去,但碰到了一個問題,就是這樣監聽不到安卓物理鍵的返回,它是點擊返回,直接推出程序,這個坑有點深,查了不少資料也問了不少人,最后在網上看到了別人的寫的,自己也改了一點,最后可以返回,但是不能直接退出,坑還是沒有爬完:上代碼:

    var XBack = {};
    (function(XBack) {
        XBack.STATE = 'x - back';
        XBack.element;

        XBack.onPopState = function(event) {
            event.state === XBack.STATE && XBack.fire();
            XBack.record(XBack.STATE); //初始化事件時,push一下  
             
        };

        XBack.record = function(state) {
            history.pushState(state, null, location.href);

        };

        XBack.fire = function() {
            var event = document.createEvent('Events');
            event.initEvent(XBack.STATE, false, false);
            XBack.element.dispatchEvent(event);
              
        };

        XBack.listen = function(listener) {
            XBack.element.addEventListener(XBack.STATE, listener, false);
        };

        XBack.init = function() {
            XBack.element = document.createElement('span');
            window.addEventListener('popstate', XBack.onPopState);
            XBack.record(XBack.STATE);
            
        };

    })(XBack); // 引入這段js文件  
    XBack.init();
   mounted() {
      var $_this = this;
            XBack.listen(function() {
                $_this.$router.back()
            }); 
  },

這段代碼放在入口頁就可以了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM