适用场景
在微信小程序中强制阅读pdf(预览pdf可参考pdf.js),html端返回阅读状态。
实现思路
1.小程序端:使用<web-view ></web-view>
标签来承载pdf链接。
2.html端:可通过计时器强制阅读10s,10s后点击我已阅读按钮,返回阅读状态。
代码
html端
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,height=device-height,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title></title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
<button type="button" @click="post_message()">点击向小程序传递消息</button>
</div>
//引入小程序JSSDK
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
<script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
msg:"hello"
},
methods:{
post_message(){
wx.miniProgram.navigateBack({
delta: 0
})
wx.miniProgram.postMessage({data:this.msg})
}
},
})
</script>
</body>
</html>
//网页中使用JSSDK提供的接口返回小程序页面
//通过postMessage方法向小程序端返回参数
小程序端
<web-view src="http://127.0.0.1:8848/myFirstTest/test1.html" bindmessage="get_message"></web-view>
//通过e.detail获得返回结果
get_message(e){
console.log(e.detail )
},
//src属性为链接地址
//bindmessage 接收html端通过postMessage方法返回的的参数
运行结果
在小程序控制台输出html端返回的msg