vue-video-player 点击播放自动全屏及安卓端样式兼容问题

news/2024/10/21 5:49:38/

相关借鉴链接:https://blog.csdn.net/imwkey/article/details/89355599
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<template><div class="w100 bgf pl15 pr15 borBox pt10 pb20 helpProjectDeatil"><p class="color3AF pt18 fz20" style="color: #000000">{{ deatilData.title }}</p><div><div class="flex alic justs mt10 mb10" style="color: #9a9a9a"><div class="fz14">发布日期:{{ deatilData.createTime | timestampToTime("YMDHMS") }}</div><div class="flex alic fz14"><img:src="viewIcon"altstyle="width: 0.16rem; height: 0.16rem"class="mr5"/><span>{{ deatilData.readNum ? deatilData.readNum : 0 }}</span></div></div><div class="mb15 fz14" v-show="deatilData.author" style="color: #9a9a9a">作者:{{ deatilData.author }}</div><video-playerv-if="deatilData.isConfig == 3 && deatilData.videoUrl"class="video-player vjs-custom-skin borRad overH mb15"ref="videoPlayer":playsinline="playsinline":options="playerOptions"@play="onPlayerPlay($event)"@ended="end($event)"@fullscreenchange="onFullscreenChange($event)"@click="fullScreen"></video-player><divv-if="deatilData.isConfig == 1"v-html="deatilData.content"class="content"></div><div v-if="deatilData.isConfig == 3"><divclass="fw split posRel pl15 pr15 fz18 mb15"style="color: #343434ff">内容介绍</div><div class="color0 content" style="line-height: 0.25rem"><p v-html="deatilData.content"></p></div></div></div></div>
</template><script>
import axios from "axios";export default {components: {},data() {return {viewIcon: require("../../assets/images/see.png"),deatilData: {},playerOptions: {playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度autoplay: false, //如果true,浏览器准备好时开始回放。muted: false, // 默认情况下将会消除任何音频。loop: false, // 导致视频一结束就重新开始。preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)language: "zh-CN",aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。width: document.documentElement.clientWidth,notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。sources: [{type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目src: "",},],poster: "",controlBar: {timeDivider: true,durationDisplay: true,remainingTimeDisplay: false,currentTimeDisplay: true,fullscreenToggle: true, //全屏按钮},},};},computed: {},watch: {},created() {this.getDeatil();},computed: {playsinline () {let ua = navigator.userAgent.toLocaleLowerCase()// x5内核if (ua.match(/tencenttraveler/) != null || ua.match(/qqbrowse/) != null) {return false} else {// ios端return true}}},methods: {onPlayerPlay(player) {// player.play();this.full(player)},//视频的播放、fullScreen() {const player = this.$refs.videoPlayer.player;player.requestFullscreen(); //调用全屏api方法player.isFullscreen(true);player.play();},getDeatil() {this.$http.helpProDeatilApi({ id: this.$route.query.id }).then((res) => {console.log(res, "热门");if (res.data && res.data.code === 200) {this.playerOptions.poster = res.data.data.bannerUrl;this.playerOptions.sources[0].src = res.data.data.videoUrl;this.deatilData = res.data.data;this.deatilData.author = res.data.data.author.trim();this.$my.getConfig({title: "中华风湿病学会",desc: res.data.data.title,imgUrl: "https://az-images.beta.microzan.com.cn/ori/fs_logo.jpg",});} else {this.$toast(res.data.message);}});},// 全屏播放//方法full(element) {//做兼容处理if (element.requestFullscreen) {element.requestFullscreen();} else if (element.mozRequestFullScreen) {element.mozRequestFullScreen();} else if (element.msRequestFullscreen) {element.msRequestFullscreen();} else if (element.oRequestFullscreen) {element.oRequestFullscreen();} else if (element.webkitRequestFullscreen) {element.webkitRequestFullScreen();} else {// var docHtml = document.documentElement;// var docBody = document.body;var videobox = document.getElementsByClassName("video-player");var cssText = "width:100%;height:100%;overflow:hidden;";// docHtml.style.cssText = cssText;// docBody.style.cssText = cssText;videobox.style.cssText = cssText + ";" + "margin:0px;padding:0px;";// document.IsFullScreen = true;videobox.IsFullScreen = true;}},},
};
</script>
<style  scoped>
.helpProjectDeatil >>> .content p {/* text-indent: 0.25rem; */text-align: justify;text-justify: auto;
}
.content >>> img {width: 100% !important;height: 100% !important;
}
.fz22 {font-size: 0.22rem;
}.wrapper {white-space: pre-wrap;
}
.content >>> strong {font-weight: 700 !important;
}
.helpProjectDeatil >>> .vjs-poster {-webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover;
}
.borRad {border-radius: 0.1rem;
}
.split::before {content: "";position: absolute;top: 50%;left: 0;transform: translateY(-50%);width: 0.04rem;height: 0.18rem;border-radius: 0.1rem;background-color: #09abbf;
}
</style>

http://www.ppmy.cn/news/342663.html

相关文章

elementUI中el-select增加删除选项按钮

elementUI中el-select删除选项 为el-select设置clearable属性&#xff0c;则可将选择器清空。 需要注意的是&#xff0c;clearable属性仅适用于单选。 <el-selectv-model"keyItem"placeholder"请选择"class"w100"clearable>

欧姆龙FINS通讯命令实例详解

发送连接命令&#xff1a; 46494E530000000C 00000000 00000000 00000003 返回的连接命令&#xff1a;46494E5300000010 00000001 00000000 00000003&#xff08;PC端节点号&#xff09; 00000028&#xff08;PLC端节点号&#xff09; 读W100的命令&#xff1a; 46494E53 00…

简单粗暴PyTorch之优化器

优化器 一、优化器属性与方法二、pytorch中的优化器 一、优化器属性与方法 pytorch的优化器&#xff1a; 管理并更新模型中可学习参数的值&#xff0c;使得模型输出更接近 真实标签 导数&#xff1a;函数在指定坐标轴上的变化率 方向导数&#xff1a;指定方向上的变化率 梯度…

联盛德W100之STM32 SPI扫网DEMO

联盛德W100之STM32 SPI扫网DEMO SPI接线描述 PINSTM32W100&#xff08;SPI_1&#xff09;INTPA2PB09CSPA4PB10CLKPA5PB08MOSIPA7PB11MISOPA6PB12 STM32 UART 接线&#xff08;串口1&#xff09; 波特率 115200&#xff0c;8&#xff0c;N&#xff0c;1&#xff0c;可查看打印…

学生DW网页设计作业成品 HTML+CSS+JS大作业——汽车设备营销企业模板(13页) 静态HTML网页设计模板

HTMLCSSJS大作业——汽车设备营销企业模板(13页) 静态HTML网页设计模板 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 军事、 游戏、 节日…

小程序简单的登录界面

造轮子系列复制粘贴&#xff0c;不多说 <view class""><view class"logo h400 flex jc-ai-center"><image src"../../assets/images/yh.png"></image></view><view class"ipt-wrap"><view cla…

vscode使用小技巧

vscode全网最详细使用教程&#xff08;让你编码快上10倍&#xff09; 一、快速编写HTML代码 初始化 HTML文档需要包含一些固定的标签&#xff0c;比如、、等&#xff0c;现在你只需要1秒钟就可以输入这些标签。比如输入“!”或“html:5”&#xff0c;然后按Tab键&#xff1a…

wordpress常用调用标签

调用头部&#xff1a;<?php get_header(); ?> 调用底部&#xff1a;<?php get_footer(); ?> 调用自定义模板文件&#xff1a;<?php get_template_part(list-head); ?> 路径&#xff1a;<?php bloginfo(template_url); ?> 缩略图&#xff1a;&l…