请问火狐的mozRequestFullScreen方法为何不生效
来源:4-5 video-javascript(2)
weibo_执著的弧线_0
2019-09-24 22:26:30
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自定义视频播放器</title>
<style type="text/css">
*{margin: 0;padding: 0;}
.outer{
height: 332px;
width: 540px;
box-shadow: 0 0 4px #5b606d;
margin: 50px auto;
overflow: hidden;
}
.outer video{width:540px;
height: 305px;
float: left;
background: #000;
}
.outer .controls{
height: 27px;
width: 540px;
background: url('images/ctrs_bg.gif')repeat-x;
float: left;
position: relative;
}
.outer .controls .playNode{
background: url('images/playNode.png')no-repeat center;
height: 26px;
width: 40px;
float: left;
margin-top: 2px;
cursor: pointer;
}
.outer .controls .pauseNode{
background: url('images/pause.png')no-repeat center;
height: 26px;
width: 40px;
float: left;
margin-top: 2px;
cursor: pointer;
}
.outer .controls .playLine{
position: relative;
width: 267px;
height: 10px;
background: url('images/load_bg.png')repeat-x;
margin: 9px 0 0 14px;
float: left;
cursor: pointer;
}
.outer .controls .playLine .leftLine{
background: url('images/left_bg.png')no-repeat center;
height: 10px;
width: 4px;
position: absolute;
left: -3px;
}
.outer .controls .playLine .rightLine{
background: url('images/right_bg.png')no-repeat center;
height: 10px;
width: 4px;
position: absolute;
left: 265px;
}
.outer .controls .playLine .lineNode{
background: url('images/crl_bg.png');
width: 17px;
height: 17px;
line-height: 27px;
top: -2px;
/*左边距为圆环的半径*/
left: -8.5px;
position: absolute;
cursor: pointer;
}
.outer .controls .playTime{
color: #fff;
position: absolute;
left: 332px;
font-size:10px;
line-height: 27px;
}
.outer .controls .volume{
background: url('images/volume_bg.png')no-repeat;
height: 16px;
width: 17px;
line-height: 27px;
top: 5px;
position: absolute;
margin-left: 402px;
cursor: pointer;
}
.outer .controls .volumeLine{
width: 62px;
height: 8px;
background: url('images/volumeLine_bg.png')repeat-x;
position: relative;
left: 424px;
top: 9.5px;
cursor: pointer;
}
.outer .controls .volumeLine .v-left{
background: url('images/v_left.png');
width: 3px;
height: 8px;
position: absolute;
right: 62px;
top: 0px;
}
.outer .controls .volumeLine .v-right{
background: url('images/v_right.png');
width: 3px;
height: 8px;
position: absolute;
right: -2px;
top: 0px;
}
.outer .controls .volumeLine .v-node{
background: url('images/vo_d.png');
height: 13px;
width:15px;
position: absolute;
top: -2px;
left: -4px;
cursor: pointer;
}
.outer .controls .fullScreen{
width: 15px;
height: 17px;
position: absolute;
right: 2px;
background: url('images/full_bg.png');
top: 5px;
cursor: pointer;
}
</style>
</head>
<body>
<div class="outer">
<video src="../data/imooc.mp4" poster="data/poster.jpg" class="videoNode"></video>
<div class="controls">
<!-- 播放暂停 -->
<div class="playNode"></div>
<!-- 播放进度条 -->
<div class="playLine">
<div class="leftLine"></div>
<div class="rightLine"></div>
<div class="lineNode"></div>
</div>
<!-- 播放时间 -->
<div class="playTime">
<span class="curTime">2:30</span>
<span>-</span>
<span class="totalTime">4:00</span>
</div>
<!-- 声音 -->
<div class="volume"></div>
<div class="volumeLine">
<div class="v-left"></div>
<div class="v-right"></div>
<div class="v-node"></div>
</div>
<!-- 全屏 -->
<div class="fullScreen"></div>
</div>
</div>
<script type="text/javascript">
//播放按钮
var playNode = document.getElementsByClassName('.playNode')[0],
// 视频资源节点
videoNode = document.getElementsByTagName('video')[0],
//布尔值 暂停播放
Btnplay = true,
//全屏播放按钮
fullScreen = document.getElementsByClassName('.fullScreen')[0],
//当前时间
curTime = document.getElementsByClassName('.curTime')[0],
//总时间
totalTime = document.getElementsByClassName('.totalTime')[0];
//播放、暂停的事件
playNode.onclick = function(){
//传统的通过布尔值去改变classname的方法
Btnplay = !Btnplay;
if (Btnplay == false) {
this.className = 'pauseNode';
videoNode.play();
}else{
this.className = 'playNode';
videoNode.pause();
}
}
//全屏和缩放
fullScreen.onclick = function(){
if(videoNode.webkitRequestFullscreen){
videoNode.webkitRequestFullscreen();
}
else if(videoNode.mozRequestFullScreen){
videoNode.mozRequestFullScreen();
}
else{
videoNode.requestFullscreen();
}
};
// //时间不足10的解决方法
// addTime = function (n) {
// return n<10? '0'+n:n;
// }
// //时间显示
// //时间显示-总时间
// videoNode.addEventListener('canplay',function () {
// var totalTime = parseInt(videoNode.duration),
// m = parseInt(totalTime/60),
// s = totalTime%60,
// totalTime_count = addTime(m)+':'+addTime(s);
//
//
// })
</script>
</body>
</html>1回答
同学你好, 首先, 我们修改代码中存在的语法错误。 通过getElementsByClassName获取元素,只需要传入对应的类名即可,不需要添加点, 建议修改:

然后, 我们再来分析,为什么同学的代码没有生效, 因为同学定义的变量名fullScreen, 与火狐浏览器自带的fullScreen值, 产生了冲突, 所以无法实现效果。
建议修改: 可以修改变量名


同学可以在测试一下哦
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~~
相似问题
回答 1
回答 1