ios系统正式包 uni-app nvue页面video标签销毁时应用崩溃
ios系统正式包 uni-app nvue页面video标签销毁时应用崩溃
示例代码:
<template>
<view class="pageBox">
<video
src="https://partyanimals.cn/media/videos/1.mp4"
autoplay
style="width: 750rpx; height: 1000rpx"
v-if="show"
> </video>
<button style="width: 750rpx; height: 100rpx" @click="show = false">
隐藏视频
</button>
</view>
</template>
<script>
export default {
data() {
return {
show: true,
};
},
methods: {},
};
</script>
<style scoped>
.pageBox {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #010101;
flex: 1;
}
</style>
操作步骤:
- 在nvue页面创建一个视频标签,点击按钮v-if隐藏或者返回页面时应用崩溃
预期结果:
- 应用能够正常运行,nvue页面视频播放销毁时正常使用
实际结果:
- nvue页面视频销毁,应用崩溃
bug描述:
- ios系统安装正式包,nvue页面video标签销毁或返回页面时,应用崩溃,(9月30日打的包正常,十一之后发现的问题)
| 项目创建方式 | 开发环境 | 版本号 |
|---|---|---|
| HBuilderX | Windows 11 家庭中文版 | 4.76 |
| iOS | iOS 18 | |
| vue2 |
更多关于ios系统正式包 uni-app nvue页面video标签销毁时应用崩溃的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于ios系统正式包 uni-app nvue页面video标签销毁时应用崩溃的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个已知的iOS 18系统兼容性问题,主要出现在使用nvue页面的video组件时。当视频组件被销毁(通过v-if切换或页面返回)时,iOS 18系统底层处理视频资源释放存在异常,导致应用崩溃。
解决方案:
- 临时规避方案:在销毁video组件前,先暂停视频播放并清空src属性:
// 在隐藏视频前执行
const videoContext = uni.createVideoContext('videoId')
videoContext.pause()
this.videoSrc = '' // 清空视频源
setTimeout(() => {
this.show = false
}, 100)
- 组件优化:给video组件添加id属性,并在销毁前确保视频完全停止:
<video
id="videoPlayer"
:src="videoSrc"
autoplay
style="width: 750rpx; height: 1000rpx"
v-if="show"
></video>

