JavaScript全屏和退出全屏事件總結(附代碼)
更新時間:2017年08月17日 15:58:11 作者:鍵盤敲飛
這篇文章主要介紹了JavaScript全屏和退出全屏事件,先通過window.ieIsfSceen = false或true進行判斷是否為全屏,在進行進入全屏和退出全屏的操作,需要的朋友可以參考下
代碼如下:
window.isflsgrn = false;//ie11以下是否進入全屏標志,true為全屏狀態(tài),false為非全屏狀態(tài) window.ieIsfSceen = false;//ie11是否進入全屏標志,true為全屏狀態(tài),false為非全屏狀態(tài) //跨瀏覽器返回當前 document 是否進入了可以請求全屏模式的狀態(tài) function fullscreenEnable(){ var isFullscreen = document.fullscreenEnabled || window.fullScreen || document.mozFullscreenEnabled || document.webkitIsFullScreen; return isFullscreen; } //全屏 var fScreen = function(){ var docElm = document.documentElement; if (docElm.requestFullscreen) { docElm.requestFullscreen(); } else if (docElm.msRequestFullscreen) { docElm.msRequestFullscreen(); ieIsfSceen = true; } else if (docElm.mozRequestFullScreen) { docElm.mozRequestFullScreen(); } else if (docElm.webkitRequestFullScreen) { docElm.webkitRequestFullScreen(); }else {//對不支持全屏API瀏覽器的處理,隱藏不需要顯示的元素 window.parent.hideTopBottom(); isflsgrn = true; $("#fsbutton").text("退出全屏"); } } //退出全屏 var cfScreen = function(){ if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.msExitFullscreen) { document.msExitFullscreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); }else { window.parent.showTopBottom(); isflsgrn = false; $("#fsbutton").text("全屏"); } } //全屏按鈕點擊事件 $("#fsbutton").click(function(){ var isfScreen = fullscreenEnable(); if(!isfScreen && isflsgrn == false){ if (ieIsfSceen == true) { document.msExitFullscreen(); ieIsfSceen = false; return; } fScreen(); }else{ cfScreen(); } }) //鍵盤操作 $(document).keydown(function (event) { if(event.keyCode == 27 && ieIsfSceen == true){ ieIsfSceen = false; } }); //監(jiān)聽狀態(tài)變化 if (window.addEventListener) { document.addEventListener('fullscreenchange', function(){ if($("#fsbutton").text() == "全屏"){ $("#fsbutton").text("退出全屏"); }else{ $("#fsbutton").text("全屏"); } }); document.addEventListener('webkitfullscreenchange', function(){ if($("#fsbutton").text() == "全屏"){ $("#fsbutton").text("退出全屏"); }else{ $("#fsbutton").text("全屏"); } }); document.addEventListener('mozfullscreenchange', function(){ if($("#fsbutton").text() == "全屏"){ $("#fsbutton").text("退出全屏"); }else{ $("#fsbutton").text("全屏"); } }); document.addEventListener('MSFullscreenChange', function(){ if($("#fsbutton").text() == "全屏"){ $("#fsbutton").text("退出全屏"); }else{ $("#fsbutton").text("全屏"); } }); }
值得注意的是 fullscreenEnabled 參數(shù),網上的說法不一,有的說是監(jiān)控瀏覽器是否進入了可以請求全屏模式的狀態(tài),有的說只是一個判斷瀏覽器是否支持全屏的標志,實際使用時也確實出現(xiàn)了問題,IE11不能識別這個屬性,需要自己單獨設置一個標記來控制IE11當前是否為全屏狀態(tài)。
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助~如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持!
相關文章
javascript中數(shù)組與對象的使用方法區(qū)別
數(shù)組(array)是按次序排列的一組值。JS其實沒有真正的數(shù)組,只是用對象模擬數(shù)組。本質上,數(shù)組屬于一種特殊的對象。typeof運算符會返回數(shù)組的類型是object。在javascript中,數(shù)組又可以認為是索引數(shù)組,即可以用整數(shù)來進行索引。數(shù)組和對象在這種情況下非常接近。2022-12-12Canvas實現(xiàn)動態(tài)粒子文字效果的代碼示例
這篇文章主要介紹了如何用Canvas實現(xiàn)動態(tài)粒子文字效果,文中有完整的代碼示例,文章通過代碼介紹的非常清楚,感興趣的小伙伴跟著小編一起來看看吧2023-08-08適用于javascript開發(fā)者的Processing.js入門教程
這篇文章主要介紹了適用于javascript開發(fā)者的Processing.js入門教程,感興趣的小伙伴們可以參考一下2016-02-02