退出全螢幕效果與全螢幕效果我們可能在看影片網站時看到多,這裡來為各位介紹利用js全螢幕和退出全螢幕程式碼範例吧,,需要的朋友可以參考下
JS 全螢幕和退出全螢幕
js實作瀏覽器視窗全螢幕和退出全螢幕的功能,市面上主流瀏覽器如:Google、火狐、360等都是相容的,不過IE低版本有點瑕疵(全螢幕狀態下仍有底部的狀態列)。
這個demo基本上是夠了,直接複製下面的原始碼另存為html檔案看效果吧。
<!DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js全屏和退出全屏代码</title> <body> <!-- requestFullScreen(document.documentElement): 整个网页进入全屏 requestFullScreen(document.getElementById("video-box")): 指定某块区域全屏 --> <button onclick="requestFullScreen(document.documentElement)">全屏显示</button> <button onclick="exitFull()">退出全屏</button> </body> <script type="text/javascript"> function requestFullScreen(element) { // 判断各种浏览器,找到正确的方法 var requestMethod = element.requestFullScreen || //W3C element.webkitRequestFullScreen || //Chrome等 element.mozRequestFullScreen || //FireFox element.msRequestFullScreen; //IE11 if (requestMethod) { requestMethod.call(element); } else if (typeof window.ActiveXObject !== "undefined") {//for Internet Explorer var wscript = new ActiveXObject("WScript.Shell"); if (wscript !== null) { wscript.SendKeys("{F11}"); } } }
//退出全螢幕判斷瀏覽器類型
function exitFull() { // 判断各种浏览器,找到正确的方法 var exitMethod = document.exitFullscreen || //W3C document.mozCancelFullScreen || //Chrome等 document.webkitExitFullscreen || //FireFox document.webkitExitFullscreen; //IE11 if (exitMethod) { exitMethod.call(document); } else if (typeof window.ActiveXObject !== "undefined") {//for Internet Explorer var wscript = new ActiveXObject("WScript.Shell"); if (wscript !== null) { wscript.SendKeys("{F11}"); } } } </script> </html>
我們知道,瀏覽器全螢幕通常按快捷鍵F11。 JS控制瀏覽器全螢幕也不稀奇,它讓網頁應用程式看起來更像似原生軟體應用程式效果。例如點餐系統、叫號系統等等。
JS讓瀏覽器全螢幕及退出全螢幕的方法網路上很多,這不是重點,重點是需注意:瀏覽器全螢幕只能透過滑鼠手勢點擊事件去觸發。
JS全螢幕方法
var $fullScreen = document.getElementById("js-fullScreen");//按钮 if ($fullScreen) { $fullScreen.addEventListener("click", function () { var docElm = document.documentElement; if (docElm.requestFullscreen) { docElm.requestFullscreen(); } else if (docElm.msRequestFullscreen) { docElm.msRequestFullscreen(); } else if (docElm.mozRequestFullScreen) { docElm.mozRequestFullScreen(); } else if (docElm.webkitRequestFullScreen) { docElm.webkitRequestFullScreen(); } }, false); }
#JS退出全螢幕方法
var $cancelFullScreen = document.getElementById("js-cancelFullScreen"); if ($cancelFullScreen) { $cancelFullScreen.addEventListener("click", function () { if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.msExitFullscreen) { document.msExitFullscreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); } }, false); }
#控制台警告
Failed to execute 'requestFullscreen' on 'Element': API can only be initiated by a user gesture.
釋義:在"Element"上執行"requestFullscreen"方法失敗,javascript API僅允許透過手勢去建立! (即沒有權限)
通常是由於程式設計師想要觸發瀏覽器自動全螢幕顯示而導致。但很抱歉,此方法行不通,必須透過手勢去創建,即使是onload、trigger()、mouseover也觸發不了!
官方解釋
該Element.requestFullscreen()方法發出非同步請求,使元素全螢幕顯示。但不能保證元素會被放入全螢幕模式。
如果允許進入全螢幕模式,文件將收到fullscreenchange事件,讓它知道它現在處於全螢幕模式。如果權限被拒絕,則文件會接收到一個fullscreenerror事件。
結論
可能出於使用者操作體驗的考量吧,客戶端javascript讓瀏覽器全螢幕只能透過滑鼠手勢點擊事件去觸發,也就是click() 。
上面是我整理給大家的,希望今後對大家有幫助。
相關文章:
以上是JS 全螢幕和退出全螢幕詳解(含代碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!