打自定义调试基座后,运行在安卓手机下【vivoY9s】和 【nova 12 - harmonyOs版本4.20】的手机上,@message 不执行,无法和web-view 中的html进行通讯。并且我把这个html 页面部署成网络地址,在 安卓下也是无法进行通讯。在iOS下是没有问题的。
 
                                        
                                    
                                    - 发布:2024-06-12 10:02
- 更新:2024-06-12 14:03
- 阅读:397
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: macOS 13.0.1 M1
HBuilderX类型: 正式
HBuilderX版本号: 4.15
手机系统: Android
手机系统版本号: Android 9.0
手机厂商: vivo
手机机型: vivo Y9s
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
                                    
                                         
                                
                                                                                                预期结果:
                                    
                                    
                                        希望可以在安卓环境下web-view 和 html 可以进行通讯
                                     
                                
                                                                                                希望可以在安卓环境下web-view 和 html 可以进行通讯
实际结果:
                                    
                                    
                                        在安卓环境下web-view 和 html 无法进行通讯
                                     
                                
                                                            在安卓环境下web-view 和 html 无法进行通讯
bug描述:
在hybrid目录下新建html->face->js->index.js
let urlParams = new URLSearchParams(window.location.search);  
console.log(urlParams)  
const code = urlParams.get('code')  
const orderNo = urlParams.get('orderNo')  
console.log(code, orderNo)  
console.log(code)  
console.log(orderNo)  
console.log(uni.postMessage) // 这里可以正常打印出函数 function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r("postMessage",e.data||{})} at hybrid/html/face/js/index.js:9  
uni.postMessage({  
    data: {  
        code: code,  
        orderNo: orderNo,  
    }  
});  
console.log('bbb')希望通过uni.postMessage可以和页面进行通讯
getMessage(e) {  
                console.log('code', e.detail.data[0].code) // 没有执行  
                console.log('orderNo', e.detail.data[0].orderNo)  // 没有执行  
            }, 
             
             
             
			 
                                                                    