微信小程序webview嵌入H5页面,返回 UniAppJSBridgeReady,不触发问题

项目场景:

公司的一个项目,要求用微信小程序实现对pdf文件,预览签字,用的uniapp开发

pdf预览这部分,用的pdf.js插件实现。

由于微信小程序中webview展示页面不能放在项目本地,要求远端请求网页。而且webview会铺满整个页面,导致我的签字按钮只能放在远端的H5页面实现,当时因为偷懒,直接把H5放在了后台前端项目里(用的vue实现),就直接在请求的vue路径页面下,又嵌了一个iframe,iframe里嵌入pdf预览签字的页面,


问题描述

点击签字按钮,跳转小程序签字页面

首先页面引入了JS-SDK 和 uniSDK,

<!-- 微信 JS-SDK 如果不需要兼容小程序,则无需引用此 JS 文件。 -->
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
<!-- uni 的 SDK,必须引用。 -->
<script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.0.1.52.js"></script>



 设置按钮监听:

document.addEventListener('UniAppJSBridgeReady', function() {  
    document.querySelector('.btn-list').addEventListener('click', function(evt) {  
        uni.navigateBack();
                
        uni.postMessage({
            data: {
                'fileSetId': fileSetId
            }
        });
    });  
});

 在微信开发者工具调试一切正常,页面能跳转,参数也能接收,但在真机上就是不能跳转,不触发UniAppJSBridgeReady


原因分析:

由于预览签字的pdfH5页面,是嵌入到vue页面的iframe原因导致的,导致事件不触发


解决方案:

将pdf预览的H5页面整个单独放在服务器,配置一下nginx请求访问,问题解决文章来源地址https://uudwc.com/A/Yn5gP

原文地址:https://blog.csdn.net/zhangyongbink/article/details/127072231

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年07月25日 02:21
『Linux从入门到精通』第 ⑮ 期 - main函数的三个参数你见过吗?
下一篇 2023年07月25日 02:22