js点击弹框优酷视频,并控制视频播放和暂停及重新载入的方法

2024-04-29 23:48

本文主要是介绍js点击弹框优酷视频,并控制视频播放和暂停及重新载入的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引子

今天做了弹框显示优酷视频的案例,有点有问题,但是通过其他办法解决了。自己感觉,虽然解决了,但是还是不是很好!不知道大家有没有更好的解决办法!

背景

弹框显示优酷视频,且一个页面中有很多优酷视频,做到效果如下图:

难点

div弹出层是在一个页面当中的,点击关闭,让优酷视频重新载入。(控制优酷视频的播放和暂停,定位指定时间和播放当前时间,优酷当中已经给了API函数,但是重新载入视频没有)

解决方法

js制作弹出层,相信大家应该都会做,今天就不总结js弹出层的效果了,关于js弹出层,后面有时间再讲!

首先,优酷API开发平台的地址: 优酷开放平台-视界开放,大有不同!

激活一下邮箱,进入工具,会生成一个client_id,vid是视频的id,通过浏览器地址或者分享里面可以复制到。

调用视频的代码如下:

<div id="youkuplayer" style="width:480px;height:400px"></div>
<script type="text/javascript" src="http://player.youku.com/jsapi">
player = new YKU.Player('youkuplayer',{
styleid: '0',
client_id: '7ea1dcdd8ea5d799',
vid: '替换成优酷视频ID',
autoplay: true,
show_related: true,
events:{
onPlayEnd: function(){ /*your code*/ },
onPlayStart: function(){ /*your code*/ },
onPlayerReady: function(){ /*your code*/ }
}
});
function playVideo(){
player.playVideo();
}
function pauseVideo(){
player.pauseVideo();
}
function seekTo(s){
player.seekTo(s);
}
function currentTime(){
return player.currentTime();
}
</script>

这里就不一一对代码进行解释了,详细大家应该都能看懂,或者去优酷视频API上面有解释。

我在这里要解释的是,优酷里面的script的引用方式比较特别,是这样的

<script type="text/javascript" src="http://player.youku.com/jsapi">

然后再在script中写入代码,那换成我们平时用的方式可以吗?通过验证也是可以的。

   <div id="youkuplayer" style="width:480px;height:400px"></div><script type="text/javascript" src="http://player.youku.com/jsapi">    </script><script type="text/javascript">player = new YKU.Player('youkuplayer',{styleid: '0',client_id: '7ea1dcdd8ea5d799',vid: '替换成优酷视频ID',autoplay: true,show_related: true,events:{onPlayEnd: function(){ /*your code*/ },onPlayStart: function(){ /*your code*/ },onPlayerReady: function(){ /*your code*/ }}});function playVideo(){player.playVideo();}function pauseVideo(){player.pauseVideo();}function seekTo(s){player.seekTo(s);}function currentTime(){return player.currentTime();}</script>

这样大家应该都明白了吧。

对于优酷视频重新载入,好在谷歌浏览器,火狐等等,在div设置属性display none之后,会自动重新载入,比较方便,但是在IE浏览器中就不一样了。

IE浏览器的问题

1、要在div中加上 < html>< body>标签

2、在div隐藏之后,视频还是照常播放,只能设置停止,但是不能重新载入!

思路:

1、把视频object隐藏掉,弹出的时候再显示,经过实验,宣布失败!

2、把视频object remove掉,弹出的时候再用html把其放上去,经过实验,有点有问题,没有进行下去!宣布失败!

3、既然其他浏览器都是好的,只有IE有问题,不放对IE进行一个小小的刷新,其他浏览器不刷新,这样解决如何?

你可以参考我之前写的一篇浏览器重载的文章:html-javascript前端页面刷新重载的方法汇总

<!--// 以下只支持ie -->
<a href="javascript:document.URL=location.href;">点击重新载入页面</a>
<a href="javascript:navigate(location);">点击重新载入页面</a>
<a href="javascript:document.execCommand('Refresh');">点击重新载入页面</a>
<!--// 以上只支持ie -->

这几种刷新方式只有IE支持啊,果断应用!

document.execCommand('Refresh');

关闭之后,虽然有点小刷新,还是跳转到原来的位置!

自己感觉这种解决方式有点有失用户体验,不过只针对IE,而且也会跳到你点击的位置,所以自我安慰,这种方式还好!

不知道大家有没有更好的解决方案,期待您提出更好的方案和意见,万分感谢!

 

这篇关于js点击弹框优酷视频,并控制视频播放和暂停及重新载入的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

基于Python实现读取嵌套压缩包下文件的方法

《基于Python实现读取嵌套压缩包下文件的方法》工作中遇到的问题,需要用Python实现嵌套压缩包下文件读取,本文给大家介绍了详细的解决方法,并有相关的代码示例供大家参考,需要的朋友可以参考下... 目录思路完整代码代码优化思路打开外层zip压缩包并遍历文件:使用with zipfile.ZipFil

Python处理函数调用超时的四种方法

《Python处理函数调用超时的四种方法》在实际开发过程中,我们可能会遇到一些场景,需要对函数的执行时间进行限制,例如,当一个函数执行时间过长时,可能会导致程序卡顿、资源占用过高,因此,在某些情况下,... 目录前言func-timeout1. 安装 func-timeout2. 基本用法自定义进程subp

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的