在手机浏览器上jplayer全屏播放视频设置在播放完成或者中间停止播放后手机浏览器的网页不能上下滚屏的解决

本文主要是介绍在手机浏览器上jplayer全屏播放视频设置在播放完成或者中间停止播放后手机浏览器的网页不能上下滚屏的解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在安卓浏览器上进行手机版wap网页视频播放调试的时候发现我用的jplayer视频播放插件,由于当时做的时候要求的是打开自动全屏播放,在电脑端和手机端网页都做了如下处理:

$("#jquery_jplayer_1").jPlayer("play");
$(".jp-full-screen").click();  //最大化到全屏

在电脑端做测试的时候无论是等待视频播放完成还是播放中间终止,该视频的播放网页上下拉动的时候都能滚屏,但是在电脑端测试的时候却发现,在视频播放中间停止或者视频自动播放完成,用手指拖动屏幕上下滚动却没反应。当时第一反应是难道是这视频播放代码不兼容手机上的视频播放造成。一查看官方文档,这个手机端的视频播放demo和电脑端的确实差别挺大。但是看了代码觉得如果按官方demo来改,这工作量有点大啊,而要解决的问题很小,就是手机端的视频播放不能滚屏的问题。我测试了下,在点击播放的时候如果没有

$(".jp-full-screen").click();
这个全屏最大化的这行代码,手机端视频播放自动完成或者中间停止,该网页的屏幕都能够正常滚屏显示的。考虑到一般视频播放最大化和正常播放都是
一个按钮切换的,我于是在视频播放的预加载中两个地方增加了一行代码:
/** 视频播放器预加载*/
$("#jquery_jplayer_1").jPlayer({ready: function () {$(this).jPlayer("setMedia", {title: "video"});},swfPath: "/scripts/plugins/jplayer",//supplied: "flv,m4v",supplied: "m4v",size: {width: "100%",height: "100%",cssClass: "jp-video-full"},ended: function () {$(".jp-full-screen").click();  //最小化,不执行此操作,则不能上下拉动手机屏幕//$.jPlayer.pause();$("#jp_container_1").hide();},fullWindow: true,useStateClassSkin: true,autoBlur: false,smoothPlayBar: true,keyEnabled: true,keyBindings: {closeWindow: { // 自定义关闭窗口函数.key: 27, // 监视键盘ESC是否被按下fn: function (f) {// f is the instance in focus, which is this instance.// f.status is the status object.// f.play() to execute methods, such as play().//alert("Hello World");f.stop();$(".jp-full-screen").click();  //最小化,不执行此操作,则不能上下拉动手机屏幕$("#jp_container_1").hide();}}},remainingDuration: true,toggleDuration: true,//errorAlerts: true,//warningAlerts: true,error: function () {$("#jp_container_1").hide();}
});
在ended函数中及键盘esc取消事件中都增加了:
$(".jp-full-screen").click();
这行代码,经过测试,在手机端播放完成或者中间停止,都能够滚屏了,而且对电脑端的滚屏也没什么影响。这样问题就得以解决


这篇关于在手机浏览器上jplayer全屏播放视频设置在播放完成或者中间停止播放后手机浏览器的网页不能上下滚屏的解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/768182

相关文章

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

SpringBoot整合Dubbo+ZK注册失败的坑及解决

《SpringBoot整合Dubbo+ZK注册失败的坑及解决》使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配... 目录1.先看下公共的pom(maven创建的pom工程)2.启动类上加@EnableDubbo3.实

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S