淺談javascript控制HTML5的全屏操控,瀏覽器兼容的問題
如果你想使一個元素在全屏模式下展現(xiàn) (比如說 <video>),你可以調(diào)用該元素的 requestFullscreen() 方法;這個方法在 Gecko 中的實現(xiàn)是 element.mozRequestFullScreen(),在 WebKit 中為 element.webkitRequestFullscreen()。
比如一個實例:
var elem = document.getElementById("myvideo"); if (elem.requestFullscreen) { elem.requestFullscreen(); //IE瀏覽器 } else if (elem.mozRequestFullScreen) { elem.mozRequestFullScreen(); //火狐瀏覽器 } else if (elem.webkitRequestFullscreen) { elem.webkitRequestFullscreen(); //谷歌瀏覽器 }
運行到這里,Gecko 與 WebKit 兩個實現(xiàn)中出現(xiàn)了一個值得注意的區(qū)別:Gecko 會為元素自動添加 CSS 使其伸展以便鋪滿屏幕: "width: 100%; height: 100%"。 WebKit 則不會這么做;它會讓全屏的元素以原始尺寸居中到屏幕中央,其余部分變?yōu)楹谏榱嗽?WebKit 下也達到與 Gecko 同樣的全屏效果,你需要手動為元素增加 CSS 規(guī)則"width: 100%; height: 100%;":
function toggleFullScreen() { if (!document.fullscreenElement && // alternative standard method !document.mozFullScreenElement && !document.webkitFullscreenElement) { // current working methods if (document.documentElement.requestFullscreen) { document.documentElement.requestFullscreen(); } else if (document.documentElement.mozRequestFullScreen) { document.documentElement.mozRequestFullScreen(); } else if (document.documentElement.webkitRequestFullscreen) { document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); } } else { if (document.cancelFullScreen) { document.cancelFullScreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); } } }
代碼首先檢查了 document 上的 fullscreenElement 屬性(也檢查了帶 -moz- 與 -webkit- 兩個前綴的)。如果該屬性為 null,則 document 當(dāng)前處于窗口模式,所以我們需要切換進全屏模式。可以通過調(diào)用 element.mozRequestFullScreen() 或者 webkitRequestFullscreen()來進入全屏模式,具體調(diào)用哪個還要看哪個方法可用。
如果已經(jīng)激活了全屏模式 (fullscreenElement 非空),我們調(diào)用 document.mozCancelFullScreen() 或 webkitCancelFullScreen(),同樣要依賴于我們使用了哪個瀏覽器。
以上就是小編為大家?guī)淼臏\談javascript控制HTML5的全屏操控,瀏覽器兼容的問題全部內(nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
JavaScript實現(xiàn)搜索的數(shù)據(jù)顯示
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)搜索的數(shù)據(jù)顯示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10JavaScript中 ES6變量的結(jié)構(gòu)賦值
這篇文章主要介紹了JS 中ES6變量的結(jié)構(gòu)賦值的相關(guān)資料,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07javascript算法學(xué)習(xí)實現(xiàn)代碼
有1到100000共10萬個數(shù)。從中隨機抽走兩個。再把原來的數(shù)字順序打亂。如何快速找到被抽走的兩個數(shù)2011-04-04簡單實用的HTML到UBB轉(zhuǎn)換腳本工具實現(xiàn)說明
你也許是位樂于分享的技術(shù)人員,盡管你算不上什么技術(shù)高手,但是你都希望把自己所知道的通過博客與網(wǎng)友分享。為了讓更多人知道你的經(jīng)驗,你可能會努力把博文發(fā)布到專業(yè)論壇。2009-11-11用JavaScript來美化HTML的select標(biāo)簽的下拉列表效果
這篇文章主要介紹了用JavaScript來美化HTML的select標(biāo)簽的下拉列表效果的方法,而且在多瀏覽器下的兼容效果也得到提升,需要的朋友可以參考下2015-11-11JavaScript監(jiān)聽手機物理返回鍵的兩種解決方法
JavaScript沒有監(jiān)聽物理返回鍵的API,所以只能使用 popstate 事件監(jiān)聽。接下來通過本文給大家分享JavaScript監(jiān)聽手機物理返回鍵的兩種解決方法,感興趣的朋友一起看看吧2017-08-08