微信小程序web-view , 嵌入H5页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序web-view , 嵌入H5页面相关的知识,希望对你有一定的参考价值。

参考技术A

需求:
1、将已开发好的H5页面,嵌入先有的小程序。
2、并且要实现H5支付功能

解决方式 :web-view

1、 登陆 小程序管理后台
a . 如果是公众号 。则进行双向绑定

完成这一步 ,那么基本上就差不多成功了一大半

2、在小程序里面嵌入h5

web-view
文档里面有的东西,就不赘述le~
a.在小程序里面定义一个你想要的H5入口

b. 新建一个页面,用来放H5的链接

ok~现在已经完成h5的嵌入

3、h5实现支付功能 - 唤醒微信支付

目前只有这种实现方式。等待微信更新 支持小程序的web-view可以唤醒微信支付

总结:
个人见解: 微信内置浏览器, 打开微信公众号H5页面,也可以唤醒微信支付。微信小程序里面web-view相当于小程序的内置浏览器,暂时不支持唤醒微信支付。虽然小程序是在微信里面,但是web-view又和微信内置浏览器不同~ 感觉微信想把小程序独立出来~

微信小程序web-view组件嵌入h5页面导致双导航栏,如何只保留其中一个?

一. 前提

  1. 已知存在一个微信小程序,该小程序的某个页面通过web-view组件嵌套了我们app的一个h5页面,h5页面本身有自己的导航栏,就导致了双导航栏。
  2. 由于uniapp的 web-view 组件一定有原生导航栏,pages.js中设置navigationStyle: custom 对 web-view 组件无效;所以只能去掉h5里的导航。

二. 问题分析

web-view 组件不了解的小伙伴们,直接查看官方文档介绍即可。入口地址: 小程序 web-view
介绍web-view 组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面。

三. 解决方案

h5页面现在有两个地方在使用,一个是app里需要保留导航栏,另一个小程序中需要去掉h5的导航栏,所以需要条件判断,在使用web-view 组件项目中的页面src指向的链接多加一个navigatorType = miniprogram 参数;在h5页面,mounted()生命周期中取传来的参数this.$route.query.navigatorType,如果等于"miniprogram",隐藏h5导航栏,否则按原样显示导航栏。

<template>
  <view>
    <web-view
      :webview-styles="webviewStyles"
      :src="h5Url"
      @message="handleMessage"
    ></web-view>
  </view>
</template>

<script>
import config from '@/utils/config'
import  getToken  from '@/utils/token.js'
export default 
  data() 
    return 
      h5PageName: 'ceshiName',
      h5Url: '',
      webviewStyles: 
        progress: 
          color: '#FF3333',
        ,
      ,
    
  ,
  onLoad() 
    this.h5Url = `$
      config.h5PageBaseHttp + this.h5PageName
    ?navigatorType=miniprogram&token=$getToken()`
  ,

</script>

<style></style>

h5页面

  mounted() 
     let navigatorType = this.$route.query.navigatorType;
      if (navigatorType === "miniprogram") 
        this.isNavBar = false;
      
  ,

app中跳转到h5页面就不需要加 navigatorType = miniprogram 参数了

以上是关于微信小程序web-view , 嵌入H5页面的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序web-view嵌入H5页面, H5页面向小程序页面传值

微信小程序web-view组件嵌入h5页面导致双导航栏,如何只保留其中一个?

微信小程序web-view组件嵌入h5页面导致双导航栏,如何只保留其中一个?

微信小程序web-view环境下H5跳转小程序页面方法

微信小程序封装H5使用web-view源码

微信小程序内联h5页面,实现分享