uniapp 操控video
时间: 2023-10-02 08:07:33 浏览: 37
在uniapp中,要控制video组件的层级和遮挡问题,可以通过以下几种方法解决:
方法一:使用v-html指令将video组件嵌套在其他标签中。通过设置不同标签的z-index属性来调整层级,确保video组件不会遮挡其他标签。
方法二:使用subNVues来解决video组件遮挡问题。在pages.json中配置页面路径,然后在对应的页面中使用subNVues组件,将video组件和其他需要显示的内容分别放在不同的subNVues中,这样可以实现video组件和其他内容的分层显示。
相关问题
uniapp 制作video
对于在uniapp项目中制作video,可以采用以下方法解决问题。首先,在pages.json文件中配置子页面的路径和样式,确保video元素不会遮挡其他页面元素。然后,在需要放置原生子窗体的页面初始化subNvue,并在nvue页面编写swiper嵌套video的代码。如果在nvue页面中无法获取到uni.createVideoContext对象以执行pause方法,可以尝试重新启动HBuilderX和虚拟机。此外,如果需要在页面隐藏时停止视频播放,可以在vue页面的onHide生命周期中给nvue页面传递参数,并监听该参数的变化来停止视频播放。通过以上方法,可以在uniapp项目中制作video,并解决视频遮挡、弹窗遮挡等问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [uniapp video视频层级过高 遮挡顶部导航 页面弹窗 使用原生子窗体解决问题](https://download.csdn.net/download/weixin_42216995/87842998)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [uniapp开发app使用SUBNVUE制作带video的swiper轮播图步骤及遇到的问题](https://blog.csdn.net/soclear_/article/details/122828137)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
uniapp 重写 video标签
通过引用中的代码,我们可以看到如何重写内置标签。在重写video标签之前,我们需要进行一些准备工作。首先要了解什么是内置标签,它们是HTML里约定的一些元素,例如div、button等,以及SVG里约定的一些标签,例如image、view等。
在main.js中,我们需要进行一些配置来解决报错。首先,设置Vue.config.ignoredElements为['uni-button'],这样可以避免uni-button标签报错。然后,设置Vue.config.isReservedTag方法来重写内置标签的判断逻辑。我们可以参考上面引用[1]中的代码,将overrideTags数组添加上video标签。
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
Vue.config.ignoredElements = ['uni-button']
const overrideTags = ['button', 'video']
const oldIsReservedTag = Vue.config.isReservedTag;
Vue.config.isReservedTag = function(tag){
if(overrideTags.indexOf(tag) !== -1){
return false;
}
return oldIsReservedTag(tag);
};
new Vue({
render: h => h(App),
}).$mount('#app')
通过以上代码的设置,我们成功重写了video标签,可以在uniapp中正确渲染video标签了。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [uni-app 黑魔法探秘 (一)——重写内置标签](https://blog.csdn.net/qiwoo_weekly/article/details/129292570)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]