思想:1.應用內部跳轉至外部鏈接時,需處理為打開帶原生導航欄的新頁面
2.在原生導航欄中處理回退,為了回退后不直接退出應用,需執行其他操作,據hbuilder-窗口管理-關閉頁面敘述:
http://dev.dcloud.net.cn/mui/window/
mui.back()
僅處理窗口邏輯,若希望在窗口關閉之前再處理一些其它業務邏輯,則可將業務邏輯抽象成一個具體函數,然后注冊為mui.init方法的beforeback參數
mounted(){ let _this = this; if(_this.mui==null){ return false; } this.mui.init({ beforeback: function(){ if(_this.openWebView){ //獲得列表界面的webview jmyc var viewObj = plus.webview.getWebviewById('jmyc'); //canBack查詢窗口是否可退 viewObj.canBack((event) => { var canBack = event.canBack; if(canBack) {//如可退,則返回上一頁面 viewObj.back(); } else {//如不可退,則退出窗口 plus.webview.close('jmyc') _this.openWebView = false; } }) return false; } return true; } }); },
methods: { toLink(url){ this.openWebView = true; this.mui.openWindow({ url: url, id: 'jmyc', styles: { // 窗口參數 參考5+規范中的WebviewStyle,也就是說WebviewStyle下的參數都可以在此設置 titleNView: { // 窗口的標題欄控件 autoBackButton: true, //新打開的窗口是否有返回鍵 // titleText:"標題欄", // 標題欄文字,當不設置此屬性時,默認加載當前頁面的標題,並自動更新頁面的標題 titleColor:"#000000", // 字體顏色,顏色值格式為"#RRGGBB",默認值為"#000000" titleSize:"17px", // 字體大小,默認17px backgroundColor:"#F7F7F7", // 控件背景顏色,顏色值格式為"#RRGGBB",默認值為"#F7F7F7" progress:{ // 標題欄控件的進度條樣式 color:"#00FF00", // 進度條顏色,默認值為"#00FF00" height:"2px" // 進度條高度,默認值為"2px" }, splitLine:{ // 標題欄控件的底部分割線,類似borderBottom color:"#CCCCCC", // 分割線顏色,默認值為"#CCCCCC" height:"1px" // 分割線高度,默認值為"2px" } } } }); }, }