场景说明:
在这个项目中使用webview跳转另一个uniapp打包成h5的项目。在h5链接里,app使用物理返回键(手机自带返回键)无效。

1.webview跳转页面
<web-view :webview-styles="webviewStyles" :src="url" @message="handleMessage"></web-view>
1
2.解决方法
写在打包为h5的项目中:

目录:

代码:

<script>
        var plusReady = function (callback) {  
            if (window.plus) {  
                callback();  
            } else {  
                document.addEventListener('plusready', callback);  
            }  
        };  
        
        plusReady(function () {  
            var firstBack = 0;  
            var handleBack = function () {  
                var currentWebview = plus.webview.currentWebview();    //当前窗口
                console.log("currentWebview",currentWebview);
                var now = Date.now || function () {  
                    return new Date().getTime();  
                };  
                currentWebview.canBack(function (evt) {  
                    /**  
                     * 有可后退的历史记录,则后退。  
                     * 否则,关闭当前窗口。   
                     */   
                    // 有回退的页面
                    if (evt.canBack) {  
                        history.back();  
                    } else {  
                        // 没有回退页面  
                        // firstBack 为0时 第一次返回
                        if (!firstBack) {
                            // 第一次返回时间
                            firstBack = now();  
                            // 信息提示
                            plus.nativeUI.toast('再按一次退出应用');  
                            setTimeout(function () {  
                                firstBack = 0;  
                            }, 2000);  
                        //第二次点击返回 直接退出应用 
                        } else if (now() - firstBack < 2000) {  
                            plus.runtime.quit();  
                        }  
                    }  
                });  
            };  
            plus.key.addEventListener('backbutton', handleBack);  
        });
 </script>

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐