1. 程式人生 > >使用html5中video自定義播放器必備知識點總結以及JS全屏API介紹

使用html5中video自定義播放器必備知識點總結以及JS全屏API介紹

標簽 quest htm round internet tel ren per 全屏

一、video的js知識點:

controls(控制器)、autoplay(自動播放)、loop(循環)==video默認的;

自定義播放器中一些JS中提供的方法和屬性的記錄:

1、play()控制視頻的播放

2、pause()控制視頻的停止

3、currentTime控制視頻的當前時間

4、muted控制視頻是否靜音(賦值true or false)

5、volume控制音量的大小(賦值0-1)

6、duration視頻的總時間

7、ontimeupdate事件(當前播放位置改變時執行,使用時要綁定addEventListener)

8、requestFullscreen全屏

二、全屏API介紹

瀏覽器全屏API簡史

1、第一個實現瀏覽器原生全屏API的是在Safari 5.0(和iOS)中添加的webkitEnterFullScreen()函數,不過它只能在Safar的<video>標簽的controls中。

2、在Safari 5.1中,蘋果更新了這個API使它更接近於Mozilla的全屏API草案(實際上這要比蘋果實現的更早),現在,所有的DOM元素都可以調用webkitRequestFullScreen()函數使HTML頁面進入到全屏模式。

3、Firefox和Chome宣布它們將會添加原生的全屏API支持,而且這個特性已經在Chome 15+以及Firefox10+中實現,Mozilla團隊已經發布了一些。

4、在2011年10月15日,W3C發布了一份全屏API草案(由Opera團隊的一名成員編寫),它跟Mozilla的草案有兩個主要的不同點:

  1. Mozilla/Webkit使用大寫字母’S‘(FullScreen),但W3C則不是(Fullscreen)
  2. Mozilla/Webkit使用cancelFullScreen,W3C使用exitFullscreen

5、更新 (11/15/2011):來自IEBlog的Ted Johnson說IE10將不會支持全屏API (12/05/2011: 我對Ted的第一封email理解錯了)IE10的開發團隊還沒有決定是否要實現全屏API。不過,他指出:Win8的 Metro風格的Internet Explorer始終是全屏狀態,正如以前那樣,按F11鍵即可進入全屏模式。

瀏覽器全屏API

要進入全屏模式,可以調用需要進入全屏元素的requestFullScreen(或者W3C的 requestFullscreen)方法。。要退出全屏,則調用document對象的cancelFullScreen(或者W3C的exitFullscreen)方法。

代碼:

全屏

var docElm = document.documentElement;
//W3C
if(docElm.requestFullscreen){

docElm.requestFullscreen();

}
//FireFox
else if (docElm.mozRequestFullScreen) {

docElm.mozRequestFullScreen();

}
//Chrome等
else if (docElm.webkitRequestFullScreen) {

docElm.webkitRequestFullScreen();

}
//IE11
else if (elem.msRequestFullscreen) {

elem.msRequestFullscreen();

}

退出全屏

if (document.exitFullscreen) {

document.exitFullscreen();

}

else if (document.mozCancelFullScreen) {

document.mozCancelFullScreen();

}

else if (document.webkitCancelFullScreen) {

document.webkitCancelFullScreen();

}

else if (document.msExitFullscreen) {

document.msExitFullscreen();

}

監聽是否全屏

document.addEventListener("fullscreenchange", function(){

fullscreenState.innerHTML = (document.fullscreen)? "" : "not ";}, false);

document.addEventListener("mozfullscreenchange", function () {

fullscreenState.innerHTML = (document.mozFullScreen)? "" : "not ";}, false);

document.addEventListener("webkitfullscreenchange", function () {

fullscreenState.innerHTML = (document.webkitIsFullScreen)? "" : "not ";}, false);

document.addEventListener("msfullscreenchange", function () {

fullscreenState.innerHTML = (document.msFullscreenElement)? "" : "not ";}, false);

全屏是的樣式設置

html:-moz-full-screen {
background: red;
}
html:-webkit-full-screen {
background: red;
}
html:fullscreen {
background: red;
}

使用html5中video自定義播放器必備知識點總結以及JS全屏API介紹