天天看點

微信小程式web-view頁面跳轉到微信小程式頁面

公司要用小程式,今天試了試微信的web-view元件,感覺還是不錯的,有點像寫app的感覺,微信的的确确幫前端的兄弟們做了很多良心的事,前端因為微信工作機會大大增加,地位也太高了不少,更加感動主要是工資也能漲,好多廢話……

元件web-view

微信web-view文檔

1.首先要提的是個人類型與海外類型的小程式暫不支援使用,好桑心

2.頁面中一但有

<web-view></web-view>

,頁面會首先顯示元件内頁面(其他内容一概不顯示)

3.

<web-view src="https://www.baidu.com/"></web-view>

引入頁面必須是https開頭的,這個頁面的域名必須要在微信公衆平台小程式背景設定(設定 => 開發設定 => 業務域名)

這個域名配置還需要兩點

        a.業務域名需IPC備案

        b.需下載下傳校驗檔案(放在伺服器根目錄,檔案為.txt檔案)

微信小程式web-view頁面跳轉到微信小程式頁面

這是我伺服器的根目錄

微信小程式web-view頁面跳轉到微信小程式頁面

到這裡準備的差不多了,還需要在你的伺服器上寫一個測試頁面()。

小程式代碼部分。 h5代碼部分。

需要引入一個js JSSDK ,有了它你才能調用微信的方法進行頁面跳轉。(其實還可以做很多事情,自己去看文檔吧!)

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>my</title>
  <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
  <script src="js/jquery-3.2.0.min.js"></script>
</head>
<body>
  <div id="app" onclick="go()" style="background:blue; margin:40px auto; font-size:30px;width:190px;height:70px;line-height: 70px;color:#fff;text-align: center;">點我啊</div>
<script type="text/javascript">
  function go(s) {
    console.log()
    //  該方法主要用于在小程式中已注冊頁面之間的跳轉。
    wx.miniProgram.navigateTo({url: '/pages/index/main'})

    // 比如你想通過web-view跳轉到tabBar頁面,那麼此時使用wx.navigateTo()和wx.redirectTo()都不會成功。
    // wx.miniProgram.switchTab({
    //   url:'/pages/index/main',
    //   success: function(){
    //     console.log('success')
    //   },
    //   fail: function(){
    //     console.log('fail');
    //   },
    //   complete:function(){
    //     console.log('complete');
    //   }
    // });
  };
</script>
</body>
</html>
           

微信給出的跳轉方法

1、wx.navigateTo

該方法主要用于在小程式中已注冊頁面之間的跳轉。微信官方規定“為了不讓使用者在使用小程式時造成困擾,我們規定頁面路徑隻能是五層,請盡量避免多層級的互動方式。”其次,該方法跳轉頁面的時候,原來的頁面還留着,可以進行傳回的。就像一個棧一樣。這個棧隻能存儲5個頁面。

2、wx.redirectTo()

該方法主要用于打開新的頁面,用于小程式中已注冊頁面之間的跳轉。使用該方法之後,原來的頁面相當于被關閉了,打開了一個新的棧。是以我們可以把一些不需要傳回的頁面,用wx.redirectTo()來進行跳轉。

3、wx.switchTab()

這個方法是微信給出的跳轉方法中,唯一能跳到tabBar注冊頁面的方法。比如你想通過web-view跳轉到tabBar頁面,那麼此時使用wx.navigateTo()和wx.redirectTo()都不會成功。必須要使用wx.switchTab()。

end……