小程序webview跳轉頁面後沒有返回按鈕完美解決方案 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 小程序相關 >

小程序webview跳轉頁面後沒有返回按鈕完美解決方案

發表時(shí)間:2021-1-6

發布人(rén):融晨科技

浏覽次數:206

随着小程序越來(lái)越火爆,使一個(gè)産品如果隻有公衆号H5頁面和(hé / huò)APP顯得不(bù)怎麽完美,總感覺不(bù)搭上(shàng)小程序這(zhè)趟流量車,就(jiù)會少了(le/liǎo)點什麽,心裏别扭地(dì / de)很。在(zài)此驅動下,我所在(zài)公司也(yě)決定趕緊上(shàng)車。

但是(shì),如果要(yào / yāo)按照小程序的(de)套路重新寫一份的(de)話,又感覺付出(chū)的(de)時(shí)間成本太大(dà)了(le/liǎo),非常的(de)不(bù)劃算。于(yú)是(shì)乎,腦子(zǐ)靈光一閃,想起了(le/liǎo)小程序貌似有個(gè)小弟叫webviewwebview是(shì)啥,按字面意思就(jiù)是(shì)網頁視圖(來(lái)自百度翻譯)。官方是(shì)這(zhè)麽定義的(de):

web-view 組件是(shì)一個(gè)可以(yǐ)用來(lái)承載網頁的(de)容器,會自動鋪滿整個(gè)小程序頁面。個(gè)人(rén)類型與海外類型的(de)小程序暫不(bù)支持使用。

簡單的(de)講就(jiù)是(shì)我們可以(yǐ)在(zài)小程序内放置一個(gè)<web-view>組件來(lái)鏈接我們的(de)HTML頁面了(le/liǎo)。也(yě)就(jiù)是(shì)說(shuō),已經寫好的(de)微信公衆号H5頁面可以(yǐ)直接挪到(dào)小程序了(le/liǎo)。一行代碼就(jiù)完成公衆号到(dào)小程序的(de)轉移,一行代碼就(jiù)讓我們多了(le/liǎo)一個(gè)流量入口,一行代碼就(jiù)解決了(le/liǎo)重新開發一套小程序代碼的(de)難題。想到(dào)這(zhè)真的(de)是(shì)激動死了(le/liǎo)。

當我興緻沖沖的(de)把鏈接放進webview中,就(jiù)像這(zhè)樣:

但是(shì)點擊跳轉頁面的(de)時(shí)候。唉喲,我去,我當時(shí)就(jiù)真的(de)楞了(le/liǎo)一下,頁面左上(shàng)角沒有!!返回按鈕!!導緻回不(bù)去了(le/liǎo),隻能不(bù)停的(de)往下點,沒有回頭路,這(zhè)不(bù)是(shì)搞笑的(de)嗎。。。

當時(shí)想了(le/liǎo)一種方案,就(jiù)是(shì)在(zài)每個(gè)H5頁面都加上(shàng)一個(gè)帶返回按鈕的(de)導航欄,但是(shì)想了(le/liǎo)一下,這(zhè)種方案不(bù)可取,因爲(wéi / wèi)小程序的(de)頭部已經有個(gè)導航欄了(le/liǎo),再加一個(gè)的(de)話就(jiù)顯得非常的(de)不(bù)協調,可以(yǐ)用一個(gè)字來(lái)形容——【醜到(dào)爆】。果斷棄用!

看了(le/liǎo)下其他(tā)的(de)小程序,發現如果是(shì)兩個(gè)小程序頁面跳轉的(de)話,第二個(gè)頁面的(de)左上(shàng)角是(shì)會有返回按鈕的(de)。那我們可以(yǐ)想到(dào),如果在(zài)第二個(gè)頁面也(yě)放個(gè)webview組件,用來(lái)顯示跳轉之(zhī)後的(de)鏈接,不(bù)就(jiù)完美解決了(le/liǎo)嗎?那麽問題來(lái)了(le/liǎo),怎麽把主頁點擊的(de)鏈接傳到(dào)第二個(gè)頁面呢?

我們可以(yǐ)在(zài)H5頁面使用jssdkH5頁面跳轉到(dào)小程序頁面的(de)方法wx.miniProgram.navigateTo,然後再攜帶一個(gè)weburl參數:

//H5頁面js
navigate(modelName) { //控制頁面跳轉---小程序、公衆号、非微信跳轉方式 【modelName---vue路由名字】
      this.isMiniProgram((res)=>{//判斷是(shì)否是(shì)小程序頁面的(de)回調函數
        if (res) {//小程序頁面
             wx.miniProgram.navigateTo({url: '../webview/webview?weburl=https://www.hxkj.vip/#/' + modelName});
        } else {
             this.$router.push({name: modelName});//非小程序頁面使用vue路由跳轉
        }
      })
},
isMiniProgram(callback) { //是(shì)否爲(wéi / wèi)小程序環境
      //是(shì)否在(zài)微信環境
      if (!isWeixin()) {
          callback(false);
      } else {
           //微信API獲取當前運行環境
           wx.miniProgram.getEnv((res) => {
               if (res.miniprogram) {//小程序環境
                   callback(true);
               } else {
                   callback(false);
               }
          })
      }
}
接着在(zài)小程序第二個(gè)頁面webview.js中接收weburl參數,注意配置分享的(de)頁面鏈接:


并賦值給webview.wxml中的(de)src屬性
<!--pages/webview/webview.wxml-->
<web-view src="{{ url }}"></web-view>

好了(le/liǎo),這(zhè)樣的(de)話,就(jiù)完美解決了(le/liǎo)小程序webview跳轉頁面後沒有返回按鈕的(de)問題。

作者:HashTang
來(lái)源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出(chū)處。

相關案例查看更多