星世界
编者:张叶星
发布时间:2020-05-23 20:40:08

vue页面

<template>
	<view class="content">
		<web-view :src="src" @message="message"></web-view>
	</view>
</template>
<script>
    export default {
        data() {
            return {
                src: ''
            }
        },
        methods: {
            message(data){
                if(data.detail){
                                    uni.navigateTo({
                                        url: data.detail.data[0].navigateTo
                                    });
                }
            }
        },
        onLoad() {
            // #ifdef H5
            window.postMessage = this.message
            // #endif
        },
        onShow() {
            this.src = '/hybrid/html/xxx.html'
        }
    }
</script>
<style>
</style>


xxx.html页面通过此方法实现调用父页面“message”的方法

<!-- uni 的 SDK,必须引用 -->  
<script type="text/javascript" src="//js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.0.1.52.js"></script>
<!-- 中继器代码 --> 
<script type="text/javascript" src="./js/common.js"></script>

<script>
parentMessage({navigateTo:'pathShow'})
</script>


common.js 中继器代码

mui.ready(function(){
        //这段代码很重要,通过uni.navigateTo跳转页面的时候无法返回,会报mui undefined
    mui.init({
        keyEventBind: {
            backbutton: false //关闭back按键监听
        }
    });
})
function parentMessage(option){
    var data = {
        data: option||{}
    }
    if(mui.os.plus){
        uni.postMessage(data);
    }else{
        window.parent.postMessage({"type":"message","target":{},"currentTarget":{},"timeStamp":new Date().getTime(),"detail":{"data":[data.data]}})
    }
}


https://uniapp.dcloud.io/component/web-view



本文地址:
转载请著名出处,谢谢!
欢迎交流
QQ:419268793
编者:张叶星
发布时间:2020-05-23 20:40:08
用户名:
密码:
      本站的部分文章和图片来自互联网,特别鸣谢 “百度图片”、“笑话集 www.jokeji.cn ”等, 如果本站有某些文章或图片侵犯了您的权益,麻烦您告诉我,我会及时处理。谢谢!微笑
QQ:419268793