Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 精品福利一区二区在线观看,国产一区二区视频免费,国产精品久久久免费视频

          整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢(xún)熱線:

          邊學(xué)邊做網(wǎng)頁(yè)篇-初識(shí)HTML

          什么學(xué)習(xí)HTML?

          理解HTML代碼是制作網(wǎng)頁(yè)的基本技能。在互聯(lián)網(wǎng)高度發(fā)達(dá)的今天,網(wǎng)頁(yè)制作技術(shù)開(kāi)始變的和修圖、處理視頻一樣重要。

          第一,學(xué)會(huì)制作網(wǎng)頁(yè)就可以把自己想要展示的信息讓其他人使用瀏覽器觀看,無(wú)論是文字、照片還是視頻都可以通過(guò)瀏覽器觀看,甚至是分享自己制作的小游戲。

          第二,理解網(wǎng)頁(yè)運(yùn)行的基本原理后可以更好的瀏覽他人的網(wǎng)頁(yè),尋找有用信息,更合理的使用第三方工具,簡(jiǎn)單高效的制作自己的網(wǎng)頁(yè)。

          HTML學(xué)習(xí)難度與重要性

          HTML代碼本身非常容易理解,使用也非常簡(jiǎn)單,但是單純使用HTML代碼寫(xiě)出的網(wǎng)頁(yè)效果和我們平時(shí)看到的網(wǎng)頁(yè)相差甚遠(yuǎn)。要想做出一個(gè)漂亮的頁(yè)面,我們還需要CSS和JavaScript的幫助。

          HTML、CSS、JavaScript這些不同的代碼都有什么作用呢?簡(jiǎn)單來(lái)說(shuō),HTML代碼可以為網(wǎng)頁(yè)提供基本內(nèi)容,比如文字、圖片、音樂(lè)、視頻等。CSS代碼可以為頁(yè)面安排布局,比如標(biāo)題的位置、字體、顏色、大小等,籠統(tǒng)的說(shuō)就是為HTML代碼添加的內(nèi)容增加樣式信息,例如修改位置、尺寸、顏色等屬性。JavaScript代碼可以為頁(yè)面提供交互(互動(dòng))功能,例如通過(guò)按鈕控制頁(yè)面內(nèi)容的隱藏、出現(xiàn),或者為多張圖片添加輪播功能等。

          對(duì)比起來(lái),HTML的學(xué)習(xí)難度最低,但作用是最重要的,因?yàn)橐磺许?yè)面的基礎(chǔ)是內(nèi)容,沒(méi)有內(nèi)容,樣式與交互都不存在。

          認(rèn)識(shí)HTML基本結(jié)構(gòu)

          第一行 <!DOCTYPE HTML>

          第二行 <html>

          第三行 <head>

          第四行 </head>

          第五行 <body>

          第六行 </body>

          第七行 </html>

          以上七行代碼是一個(gè)網(wǎng)頁(yè)文件的HTML代碼的基本結(jié)構(gòu)。

          大家觀察一下可以發(fā)現(xiàn)一個(gè)規(guī)律,每一行的內(nèi)容都是寫(xiě)在“<>”里面的。原因說(shuō)來(lái)話長(zhǎng),先記住就行。每個(gè)寫(xiě)在“<>”里面的內(nèi)容叫做“標(biāo)簽”。以后“標(biāo)簽”這個(gè)詞會(huì)經(jīng)常出現(xiàn)。

          第一行<!DOCTYPE HTML>標(biāo)簽指示 web 瀏覽器關(guān)于頁(yè)面使用哪個(gè) HTML 版本進(jìn)行編寫(xiě)的指令(這句話可以暫時(shí)不必理解)。重要的是這句傲嬌的代碼只能存在在HTML代碼的第一行!

          第二行<html>標(biāo)簽與第七行的</html>標(biāo)簽是一對(duì),“<html>”叫做開(kāi)始標(biāo)簽,“</html>”叫做結(jié)束標(biāo)簽。他們之間的區(qū)別在于結(jié)束標(biāo)簽比開(kāi)始標(biāo)簽多一個(gè)“/”。這是HTML代碼的一個(gè)重要規(guī)律,以后我將要學(xué)到的大部分標(biāo)簽都是這樣的,可能瀏覽器有些強(qiáng)迫癥吧,如果沒(méi)有結(jié)束標(biāo)簽它會(huì)很不舒服,有可能會(huì)消極怠工而產(chǎn)生麻煩(不能正常顯示)。不過(guò)遺憾的是<!DOCTYPE HTML>太傲嬌,至今沒(méi)有另一半。<html> 與 </html> 標(biāo)簽限定了文檔的開(kāi)始點(diǎn)和結(jié)束點(diǎn)。

          第三行與第四行組成一對(duì),叫做“head”標(biāo)簽。顧名思義,這個(gè)“頭”標(biāo)簽里的內(nèi)容統(tǒng)領(lǐng)全局,比如控制布局與樣式的CSS代碼文件和添加互動(dòng)功能的JavaScript代碼文件在這里添加或?qū)耄凰阉黜?yè)面用的關(guān)鍵詞信息在這里添加;頁(yè)面信息的編碼方式也是由此指定;瀏覽器窗口的標(biāo)題也在這里顯示。

          第五行與第六行組成一對(duì),叫做“body”標(biāo)簽。用來(lái)顯示所有的頁(yè)面內(nèi)容信息。

          畫(huà)個(gè)圖來(lái)表示一下這四個(gè)標(biāo)簽的層級(jí)關(guān)系(就是誰(shuí)包含誰(shuí)的意思,或者誰(shuí)在誰(shuí)的勢(shì)力范圍內(nèi)出現(xiàn)):

          邊學(xué)邊練------寫(xiě)一個(gè)最簡(jiǎn)單的頁(yè)面

          正所謂萬(wàn)丈高樓平地起,下面我們就動(dòng)手做我們的第一個(gè)網(wǎng)頁(yè)文件。

          工具:電腦,安裝一個(gè)瀏覽器(IE 火狐 谷歌瀏覽器都可以),確定“記事本”工具可用。

          有了以上工具我們就可以寫(xiě)了。

          Step1 新建一個(gè).txt文件。

          操作如下:

          (1)選擇合適的磁盤(pán),比如D盤(pán)或F盤(pán)新建一個(gè)文件夾,命名為“網(wǎng)頁(yè)”。點(diǎn)擊進(jìn)入。

          (2)在空白處點(diǎn)擊鼠標(biāo)右鍵新建一個(gè)文本文件,命名為“第一個(gè)頁(yè)面”。這時(shí)我們就有了一個(gè)“第一個(gè)頁(yè)面.txt”文件了。

          如果你的電腦不顯示“.txt”這樣的文件后綴,可以在屏幕左上方尋找“查看”菜單,如圖2

          圖 2

          點(diǎn)擊后,出現(xiàn)如下菜單如圖3,點(diǎn)擊“選項(xiàng)”。

          圖 3

          點(diǎn)擊“查看”,去掉“隱藏已知文件類(lèi)型的擴(kuò)展名”選項(xiàng)前的“對(duì)號(hào)”,如圖4所示。這時(shí)就能顯示或修改文件后綴了。

          圖 4

          Step2 添加內(nèi)容

          (1)雙擊打開(kāi)“第一個(gè)頁(yè)面.txt”文件,把HTML基本結(jié)構(gòu)共七行代碼輸入進(jìn)去。

          (2)保存,關(guān)閉文件,在“第一個(gè)頁(yè)面.txt”文件上點(diǎn)擊鼠標(biāo)右鍵,選擇“重命名”,將“.txt”修改為“.html”。這時(shí),系統(tǒng)會(huì)提示,如圖1,大膽點(diǎn)“是”。

          圖 1

          這時(shí)我們的文件就變成了html網(wǎng)頁(yè)文件了。

          我們雙擊這個(gè)文件發(fā)現(xiàn)瀏覽器內(nèi)一片空白,這就好比我們?cè)谧雷由蠑[了個(gè)碟子,里面并沒(méi)有放美食。瀏覽器中的一片白就是空碟子的顏色,而HTML基本結(jié)構(gòu)就是這個(gè)碟子。

          下面我們往碟子里加點(diǎn)東西。

          Step3 添加內(nèi)容

          (1)在“第一個(gè)頁(yè)面.html”文件上點(diǎn)擊鼠標(biāo)右鍵,選擇“打開(kāi)方式”,選擇“記事本”,如果沒(méi)有“記事本”選項(xiàng),請(qǐng)點(diǎn)擊“選擇其他應(yīng)用”,點(diǎn)擊選擇最下面的“更多應(yīng)用”,選擇“記事本”。下一次選擇“打開(kāi)方式”時(shí),“記事本”就會(huì)出現(xiàn)了。

          (2)在<head></head>標(biāo)簽之間添加“<title>學(xué)習(xí)寫(xiě)第一個(gè)網(wǎng)頁(yè)</title>”。在<body></body>之間添加“<h1>第一個(gè)網(wǎng)頁(yè)</h1>”;“<p>隨著學(xué)的內(nèi)容越來(lái)越多,網(wǎng)頁(yè)就會(huì)越來(lái)越漂亮了!</p>”完成如圖5

          圖 5

          (3)保存,關(guān)閉,雙擊打開(kāi)!效果如圖6

          圖6

          今天的邊學(xué)邊做就到這里,下一次會(huì)詳細(xì)解釋<head>標(biāo)簽、<body>標(biāo)簽中常出現(xiàn)的子標(biāo)簽以及它們各自的作用。

          第二篇《邊學(xué)邊做網(wǎng)頁(yè)篇——<head>標(biāo)簽里裝點(diǎn)啥?》http://mp.toutiao.com/preview_article/?pgc_id=6738988870622249479

          avaScript奇淫技巧:20行代碼,實(shí)現(xiàn)屏幕錄像

          本文展示一個(gè)技巧,可以給任何網(wǎng)站、網(wǎng)頁(yè)實(shí)現(xiàn)屏幕錄像功能。

          即使你不是網(wǎng)站的管理者,也可以給它添加錄制功能。

          方法如下:

          第一步:

          復(fù)制一段JS代碼,這段代碼是實(shí)現(xiàn)錄像功能的:

          var body = document.body;

          body.addEventListener("click",async function(){

          var stream = await navigator.mediaDevices.getDisplayMedia({video: true});


          var mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ?"video/webm; codecs=vp9" :"video/webm";

          var mediaRecorder = new MediaRecorder(stream, {mimeType: mime});


          //錄制

          var chunks = [];

          mediaRecorder.addEventListener('dataavailable', function(e) {

          chunks.push(e.data)

          })


          //停止

          mediaRecorder.addEventListener('stop', function(){

          var blob = new Blob(chunks, {type: chunks[0].type});

          var url = URL.createObjectURL(blob);

          var a = document.createElement('a');

          a.href = url;

          a.download = 'video.webm';

          a.click();

          })

          //手動(dòng)啟動(dòng)

          mediaRecorder.start()

          });

          第二步:

          打開(kāi)任意網(wǎng)站,比如JShaman官網(wǎng):

          然后調(diào)出“Web開(kāi)發(fā)者工具”,并切換到“控制臺(tái)”。

          第三步:

          粘貼上面復(fù)制的JS代碼,并按下回車(chē)。

          回車(chē)后會(huì)顯示出“undefined”:

          第四步:

          在網(wǎng)頁(yè)任意地方點(diǎn)擊鼠標(biāo),即可進(jìn)行錄屏操作。

          這時(shí)會(huì)彈出一個(gè)窗口,供選擇錄制范圍。

          之后便開(kāi)始錄制了。

          當(dāng)需要停止錄像時(shí),點(diǎn)擊”停止共享”就可以了。

          停止錄制后,剛剛錄制的內(nèi)容會(huì)自動(dòng)保存成一個(gè)視頻文件:

          打開(kāi)便可播放:

          在這整個(gè)過(guò)程中,最重要的是第一步中的JS代碼。

          代碼可自行閱讀理解,大意是給document.body添加點(diǎn)擊事件,當(dāng)點(diǎn)擊時(shí),進(jìn)行屏幕錄像。

          所以,只要保存那段代碼,便可給任意網(wǎng)站添加錄像功能。

          如果想要修改觸發(fā)條件,比如把鼠標(biāo)點(diǎn)擊改為鼠標(biāo)雙擊,只需修改addEventListener中的事件名稱(chēng)即可。

          例:改為雙擊:

          var body = document.body;

          body.addEventListener("dblclick",async function(){

          var stream = await navigator.mediaDevices.getDisplayMedia({video: true});


          var mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ?"video/webm; codecs=vp9" :"video/webm";

          var mediaRecorder = new MediaRecorder(stream, {mimeType: mime});


          //錄制

          var chunks = [];

          mediaRecorder.addEventListener('dataavailable', function(e) {

          chunks.push(e.data)

          })


          //停止

          mediaRecorder.addEventListener('stop', function(){

          var blob = new Blob(chunks, {type: chunks[0].type});

          var url = URL.createObjectURL(blob);

          var a = document.createElement('a');

          a.href = url;

          a.download = 'video.webm';

          a.click();

          })

          //手動(dòng)啟動(dòng)

          mediaRecorder.start()

          });

          如果在復(fù)制粘貼代碼時(shí),不想讓別人看出你的代碼是什么意思,還可以對(duì)以上代碼進(jìn)行混淆加密。

          用JShaman對(duì)代碼進(jìn)行加密:

          得到加密代碼:

          復(fù)制并使用這段代碼,使用跟之前一樣,但別人是無(wú)法理解代碼功能的。

          使用:

          最后,給出加密后的代碼,復(fù)制即可用,可用于任何網(wǎng)頁(yè)。

          (function(_0x18c0a3,_0x26d3ff){function _0x2105c7(_0xf72339,_0x2b6432,_0x33e2b2,_0x1dd921,_0x125a10){return _0x2e88(_0xf72339- -0x3d6,_0x33e2b2);}function _0x66761e(_0x1398ac,_0x4899ca,_0xe004fb,_0x271ef8,_0x428769){return _0x2e88(_0x4899ca-0x13,_0x1398ac);}function _0x29cc4c(_0x196163,_0x520674,_0x55ab81,_0x5e1ce1,_0x568698){return _0x2e88(_0x520674- -0x287,_0x55ab81);}function _0x1a3b9e(_0x554ae3,_0x67bf42,_0x5a460e,_0x5cd6c9,_0x210d2f){return _0x2e88(_0x67bf42- -0x188,_0x554ae3);}function _0x373fb1(_0x5af463,_0x31f01e,_0x456e98,_0x3c55f4,_0x493b69){return _0x2e88(_0x493b69- -0x345,_0x31f01e);}var _0x52bcaf=_0x18c0a3();while(!![]){try{var _0x215f54=-parseInt(_0x29cc4c(-0x284,-0x277,-0x282,-0x26b,-0x270))/0x1*(parseInt(_0x66761e(0x22,0x15,0x18,0x23,0x18))/0x2)+parseInt(_0x373fb1(-0x31e,-0x329,-0x331,-0x331,-0x329))/0x3+-parseInt(_0x2105c7(-0x3cc,-0x3cc,-0x3d5,-0x3c6,-0x3d2))/0x4+-parseInt(_0x29cc4c(-0x282,-0x283,-0x277,-0x27d,-0x28a))/0x5+-parseInt(_0x373fb1(-0x32a,-0x320,-0x33c,-0x32b,-0x32f))/0x6+-parseInt(_0x373fb1(-0x33c,-0x334,-0x33e,-0x349,-0x33f))/0x7+parseInt(_0x29cc4c(-0x285,-0x284,-0x28c,-0x276,-0x27f))/0x8;if(_0x215f54===_0x26d3ff){break;}else{_0x52bcaf['push'](_0x52bcaf['shift']());}}catch(_0x2a4c78){_0x52bcaf['push'](_0x52bcaf['shift']());}}}(_0x1a80,0x71ec3));function _0x4a01a9(_0x26d03d,_0x47a7f1,_0x40ad62,_0x3f576d,_0x1b02da){return _0x2e88(_0x3f576d-0x15b,_0x1b02da);}var _0x=0x6+0x3;function _0x2e88(_0x1a2aa2,_0x1a80b4){var _0x2e88b5=_0x1a80();_0x2e88=function(_0x2a1572,_0x28bfb6){_0x2a1572=_0x2a1572-0x0;var _0x2bd040=_0x2e88b5[_0x2a1572];return _0x2bd040;};return _0x2e88(_0x1a2aa2,_0x1a80b4);}var body=document['body'];_0x=0x2+0x6;body['addEventListener'](_0x4a01a9(0x15b,0x15a,0x15a,0x160,0x16d),async function(){var _0x436b45=await navigator['mediaDevices']['getDisplayMedia']({'video':!![]});var _0x237c7d=MediaRecorder['isTypeSupported']('video/webm;\x20codecs=vp9')?'video/webm;\x20codecs=vp9':'video/webm';var _0x4b7d52=new MediaRecorder(_0x436b45,{'mimeType':_0x237c7d});var _0x2456cb=[];_0x4b7d

          更多精彩文章:

          JS奇淫技巧:數(shù)值的七種寫(xiě)法

          JavaScript奇淫技巧:隱寫(xiě)術(shù)

          JS奇淫技巧:alert有幾種寫(xiě)法?

          JavaScript奇淫技巧:變速齒輪

          JavaScript奇淫技巧:收縮控制流

          JavaScript奇淫技巧:按鍵精靈

          JS奇淫技巧:一行賦值語(yǔ)句,能玩出多少花樣?

          JavaScript奇淫技巧:命令行語(yǔ)法高亮

          JavaScript奇淫技巧:清理無(wú)效的垃圾代碼

          JavaScript奇淫技巧:利用數(shù)組加密并壓縮代碼

          JavaScript奇淫技巧:壓縮并加密圖片

          JavaScript奇淫技巧:把JS編譯成exe

          JavaScript奇淫技巧:用try、catch實(shí)現(xiàn)JS代碼加密解密

          JS小技巧:制作一個(gè)密碼保護(hù)的網(wǎng)頁(yè)

          JavaScript黑暗技巧:變異的Eval

          JS代碼混淆加密:JSON數(shù)據(jù)加密技巧

          JS加密技術(shù):平展控制流

          奇思妙想之:用JS給圖片加口令

          JavaScript黑暗技巧:禁止瀏覽器點(diǎn)擊“后退”按鈕

          視頻采集和管理是多模態(tài)大數(shù)據(jù)應(yīng)用場(chǎng)景必不可少的環(huán)節(jié),在基于Vue2前端框架實(shí)現(xiàn)的Web界面如何進(jìn)行視頻的展示和播放是開(kāi)發(fā)人員會(huì)遇到的一個(gè)主要技術(shù)問(wèn)題。本文提供基于Vue2+video.js實(shí)現(xiàn)視頻的預(yù)覽的方案。

          采集的視頻數(shù)據(jù)在前端視頻管理模塊列表中展示,然后用彈窗查看視頻詳情并預(yù)覽播放。最開(kāi)始使用 vue-mini-player 組件,可輕松實(shí)現(xiàn)視頻在編輯界面的彈窗中播放,但是遇到兩個(gè)問(wèn)題:1)彈窗中播放著視頻,關(guān)閉窗口后,視頻流不會(huì)停止。2)關(guān)閉窗口,重新打開(kāi)新的視頻編輯窗口后,依舊是繼續(xù)播放之前的視頻。其原因應(yīng)該是關(guān)閉舊的窗口后,視頻播放的控件沒(méi)有銷(xiāo)毀,導(dǎo)致新打開(kāi)的控件其實(shí)還是舊控件的實(shí)例。查了很多關(guān)于vue-mini-player的文檔和使用樣例,沒(méi)有找到如何銷(xiāo)毀vue-mini-player控件。

          視頻列表

          單條視頻數(shù)據(jù)編輯界面

          video.js 是一個(gè)通用的可嵌入網(wǎng)頁(yè)的視頻播放器JS庫(kù),在Vue2中引用video.js可以創(chuàng)建播放組件對(duì)象,關(guān)閉視頻時(shí)能進(jìn)行操作。基于Vue2使用video.js方法如下。

          1. 安裝video.js:
          npm install video.js@6.13.0
          1. main.js注冊(cè)
          import videoJs from 'video.js'
          import 'video.js/dist/video-js.css'
          Vue.prototype.videoJs = videoJs //注冊(cè)
          1. vue代碼文件中使用組件

          創(chuàng)建<video>組件,可放在彈窗中任何需要的地方。重點(diǎn)是給出id值,設(shè)置屬性時(shí)需要用到。

          <template>
            <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
                <video id="casvideoplayer" ref="videoPlayerRef" class="video-js">
                    <source :src="playUrl" type="video/mp4">
                </video>
                ...
                <div slot="footer" class="dialog-footer">
                  	<el-button type="primary" @click="submitForm">確 定</el-button>
                  	<el-button @click="cancel">取 消</el-button>
                </div>
              </el-dialog>
          </template>
          export default {
          data() {
              return {
              // 使用video.js播放視頻配置
              videoJsPlayer: null,
              playUrl:"", 			//視頻文件鏈接
              videoPlayerOption: {
                  controls: true, 			//確定播放器是否具有用戶可以與之交互的控件。沒(méi)有控件,啟動(dòng)視頻播放的唯一方法是使用autoplay屬性或通過(guò)Player API。
                  // url: "", 							//要嵌入的視頻資源url(不起作用?)
                  poster: '',   					//封面
                   autoplay: false, 	//自動(dòng)播放屬性, true/false/"muted"(靜音播放)
                  muted: false, 				//靜音播放
                  preload: 'none', 		//建議瀏覽器是否應(yīng)在<video>加載元素后立即開(kāi)始下載視頻數(shù)據(jù)。
                  fluid: false, 					//是否自適應(yīng)布局,播放器將會(huì)有流體體積。換句話說(shuō),它將縮放以適應(yīng)容器。
                  width: "850px", 		//視頻播放器的顯示寬度(以像素為單位)(fluid=false時(shí)起作用)
                  height: "600px", 		//視頻播放器的顯示高度(以像素為單位)(fluid=false時(shí)起作用)
               },
          };
          methods: {
             // 視頻列表的“修改”按鈕,點(diǎn)擊后顯示修改彈窗
             handleUpdate(row) {
                  // 從后臺(tái)獲取視頻信息
                  getVedio(row.id).then(response => {
                      this.form = response.data;    //修改彈窗其他字段信息賦值
                      this.title = "修改視頻管理";
                      this.open = true;    								// 顯示修改彈窗
          
                      // video.js組件播放視頻
                      this.videoPlayerOption.poster = response.data.avator;
                      this.playUrl = response.data.contentsOrg;
                      this.showVideoWindow();   //設(shè)置視頻播放控件
                  });
               },
                 
              //(重點(diǎn)是這里)
              // 使用video.js組件播放視頻
               showVideoWindow(){
                  // 如果視頻播放控件已經(jīng)存在,切換視頻url,重新播放;如果控件不存在,創(chuàng)建
                  if(this.videoJsPlayer){
                      this.videoJsPlayer.src([
                           {
                              src: this.playUrl,
                              type: "video/mp4"
                           }
                       ]);
                      // 如何圖片不為空,設(shè)置視頻封面
                      if(this.videoPlayerOption.poster != null && this.videoPlayerOption.poster != ""){
                      		this.videoJsPlayer.poster(this.videoPlayerOption.poster);
                       }
                      this.videoJsPlayer.load(this.playUrl);
                      // this.videoJsPlayer.play();      //自動(dòng)播放(打開(kāi)后,切換視頻后需自動(dòng)播放)
                   }else{
                      // 最開(kāi)始創(chuàng)建一次視頻播放組件
                      this.$nextTick(() => {
                          this.videoJsPlayer = this.videoJs(
                              "casvideoplayer", 				//播放器控件id
                              this.videoPlayerOption //播放器設(shè)置項(xiàng)(這里設(shè)置的poster屬性不生效,需要在后面單獨(dú)設(shè)置)
                           );
                          this.videoJsPlayer.poster(this.videoPlayerOption.poster);  //貌似不生效?
                       })
                   }
               },
                 
              // 編輯彈窗頁(yè)面的“取消”按鈕
              cancel() {
                  // 重置視頻控件數(shù)據(jù)(video.js組件)
                  if(this.videoJsPlayer){
                      this.videoJsPlayer.reset();
                   }
          					this.reset();
           		},
          }

          以上代碼實(shí)現(xiàn)了在Vue2彈窗中播放視頻組件的功能,注意關(guān)閉彈窗時(shí)要使用“取消”按鈕。如果通過(guò)點(diǎn)擊彈窗右上角X關(guān)閉彈窗,視頻還可以在后臺(tái)繼續(xù)播放,但是打開(kāi)一個(gè)新的視頻修改彈窗后,播放的視頻會(huì)終止,并切換到新視頻播放界面。即使這樣,目前的功能已經(jīng)不影響用戶正常使用。

          video.js還有一個(gè)強(qiáng)大功能,看到喜歡的畫(huà)面點(diǎn)擊右鍵可以保存視頻幀,另外支持畫(huà)中畫(huà)、設(shè)備投放等功能。

          video.js右鍵功能

          后續(xù)優(yōu)化改進(jìn)工作包括:1)把video.js視頻播放功能做成Vue組件,方便在不同的Vue代碼文件中調(diào)用。2)捕獲窗口關(guān)閉的事件(如點(diǎn)擊X關(guān)閉,或者鼠標(biāo)失焦點(diǎn)后關(guān)閉),關(guān)閉視頻流。

          video.js

          Vue

          【參考材料】

          video.js官方網(wǎng)站:https://videojs.com/

          其他編碼材料:

          https://blog.csdn.net/qq_60533482/article/details/128015308

          https://blog.csdn.net/Uookic/article/details/116131535

          https://www.cnblogs.com/DL-CODER/p/16833222.html


          主站蜘蛛池模板: 国产麻豆精品一区二区三区| 波多野结衣的AV一区二区三区 | 一区二区三区四区视频在线| 国产情侣一区二区| 无码日本电影一区二区网站| 国产精品无码一区二区在线观 | 成人免费av一区二区三区| 一区二区日韩国产精品| 国产一区二区免费视频| 精品国产鲁一鲁一区二区| 国产一区二区三区内射高清| 亚洲一区二区三区影院 | 一区二区三区福利视频| 无码日韩精品一区二区三区免费 | 一区精品麻豆入口| 久久综合九九亚洲一区| 免费看AV毛片一区二区三区| 成人免费一区二区三区| 亚洲av无码一区二区三区四区| 一区二区3区免费视频| 末成年女A∨片一区二区| 日本高清天码一区在线播放| 国产亚洲一区区二区在线 | 熟女精品视频一区二区三区| 日韩美一区二区三区| 国产午夜福利精品一区二区三区| 亚洲乱码一区二区三区国产精品 | 日韩人妻无码一区二区三区| 中文精品一区二区三区四区 | 99精品一区二区三区| 精品一区二区高清在线观看| 亚洲一区二区三区四区视频 | 国产成人精品亚洲一区 | 无码一区二区三区中文字幕| 国产午夜精品免费一区二区三区| 视频一区二区在线播放| 国产一区二区三区影院| 中文无码精品一区二区三区| 国产伦精品一区二区三区在线观看 | 亚洲国产精品一区第二页 | 亚洲国产欧美国产综合一区|