uni-app打包为iosApp之后,uni-app中webview嵌入的主页面和该主页面通过iframe嵌入的子页面之间,在子页面通过window.addEventListener('message',fn,false),无法接收到主页面的信息,在打包的安卓App就可以接收到消息。

c55
- 发布:2025-07-22 14:36
- 更新:2025-07-22 16:05
- 阅读:76

c55 (作者) - 11
<template>
<view class="web-view-content">
<web-view
:src="webUrl"
></web-view>
</view>
</template>
<script setup lang="ts">
const webUrl = ref<string>("");
onLoad((options) => {
webUrl.value = 'https://xmgl.glodon.com/mobile-apps/workflow-center/index.html?hiddenPageTitle=true&local_tenantId=966031524761600&local_token=cn-b9ecf845-af57-4bfd-9045-0f1684ca2961-ut&orgId=1034665416708608#/home'
console.log(webUrl.value)
});
</script>
<style lang="scss">
</style>
c55 (作者)
我们通过webview引入了一个地址是流程h5地址,点击流程列表中的第二个整改流程,进入流程详情页面,流程详情页面内嵌的页面是我们自己的页面,不属于流程页面,我们自己页面和流程通信是通过window.addEventListener('message',fn,false)和postMessage
2025-07-22 15:33
c55 (作者)
是否为ios不允许js通信
2025-07-22 15:36
DCloud_UNI_yuhe
回复 c55: 这个您发的这个代码,我也不知道存在什么问题,请您简化一下h5,只保留相关的可以复现的内容即可,能够明确展示所属问题,而不是直接发您的项目代码
2025-07-22 15:44
c55 (作者)
回复 DCloud_UNI_yuhe: 这个就是最简化的代码,uni-app中的代码通过webview加载了一个h5页面,h5页面中通过iframe嵌入了子页面
2025-07-22 16:08
c55 (作者)
回复 DCloud_UNI_yuhe: 这个就是uni-app中的代码,其他都是h5的代码了不是用uni-app写的
2025-07-22 16:09
c55 (作者)
回复 DCloud_UNI_yuhe: uni-app中的webview打包为ios使用的为WKWebview,这个WKWebview是不是对嵌入的页面通信存在限制
2025-07-22 16:14
DCloud_UNI_yuhe
回复 c55: 你可以尝试新建h5,找一下具体问题在哪里
2025-07-22 16:15
c55 (作者)
回复 DCloud_UNI_yuhe: 和h5没有关系,uni-app中的代码只是一个webview中的src是一个h5地址,h5是其他的项目地址,h5页面在uni-app打包出来的安卓,在web端都没问题,在uni-app打包的ios中存在问题
2025-07-22 16:22
c55 (作者)
回复 DCloud_UNI_yuhe: 我通过排除法,定位到uni-app打包出来的iosApp中,嵌入的h5主页面和子页面无法通信,我想知道的是,uni-app打包ios的过程中对webview做了什么处理,导致这个无法通信
2025-07-22 16:26
c55 (作者)
回复 DCloud_UNI_yuhe: 直接使用原生开发的iosApp加载这个h5页面没问题。
2025-07-22 16:29