小程序web-view是承载网页的容器,会自动铺满整个小程序页面。

微信小程序

.wxml

<view>
  <web-view src="{{webUrl}}"  bindmessage="msgHandler"></web-view>
</view>

.js

Page({
  data: {
    webUrl: "http://192.168.2.275:8080/%E6%B5%8B%E8%AF%95.html"
  },
  msgHandler: function (e) {    //(h5像小程序传递参数)
    console.log(e) //获取到来自也页面的数据
    },

 })

h5页面

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<title>H5页面</title>
</head>
<body>
	<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
	<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
	<button class="btn" >按钮触发</button>
	<script>
		$(".btn").click(function() {
			wx.miniProgram.navigateTo({url: '/organization/organization'})
			wx.miniProgram.postMessage({ data: '传递传输值' })
		})
	</script>
</body>
</html>

 


小程序相关属性: 

src                          webview 指向网页的链接

bindmessage         网页向小程序 postMessage 时,会在小程序后退、组件销毁、分享时触发并收到消息。

bindload                页面加载成功触发   e.detail = { src },只是与页面src有关,和H5传值无关

binderror                页面加载失败触发  e.detail = { src },只是与页面src有关,和H5传值无关

H5页面相关属性:   

注意: 使用下面属性要进行jweixin的引入

wx.miniProgram.navigateTo   进行跳转到小程序的页面(保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面)

wx.miniProgram.navigateBack   进行跳转到小程序的页面(关闭当前页面,返回上一页面或多级页面)

wx.miniProgram.switchTab     进行跳转到小程序的页面(跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面)

wx.miniProgram.reLaunch    进行跳转到小程序的页面(关闭所有页面,打开到应用内的某个页面)

wx.miniProgram.redirectTo    进行跳转到小程序的页面(关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。)

前面五个是进行路由跳转,下面一个是进行传值
wx.miniProgram.postMessage   向小程序发送消息,会在小程序后退、组件销毁、分享时触发组件的message事件

实例:


// <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>

// javascript
wx.miniProgram.navigateTo({url: '/path/to/page'})
wx.miniProgram.postMessage({ data: 'foo' })
wx.miniProgram.postMessage({ data: {foo: 'bar'} })
wx.miniProgram.getEnv(function(res) { console.log(res.miniprogram) })

总结: 在H5页面中,要有一个触发事件执行,这样才能在微信小程序通过web-view来获取到H5页面相应的值互传。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐