0
在我的應用程序中,我希望用戶能夠按下按鈕或F11來全屏顯示。然而,瀏覽器調用全屏應該通過我的自定義函數,因爲有額外的代碼重新計算一些變量。跨瀏覽器全屏模式
更新的代碼&鏈接表明瀏覽器忽略我們的包裝功能&立即使用F11按鈕調用其自己的全屏功能。
大衛沃爾什有一個介紹,但我似乎無法把它從我們的自定義功能位。
演示適用於Chrome而不是Firefox的...
David Walsh article on Full screen API
document.addEventListener('keydown', keyInput, false);
var fullscreen_flag = false;
function keyInput(event) {
event.preventDefault();
console.log('user press key');
var code = event.keyCode || event.which;
if (code === 122) { // F11 pressed
requestFullScreen('key request');
}
}
function requestFullScreen(text) {
if (fullscreen_flag) {
exitFullscreen(text);
}
else {
triggerFullScreen(text);
}
}
function triggerFullScreen(text){
fullscreen_flag=true;
//alert('Fullscreen Enabled!');
console.log(text);
var elementDom = document.getElementsByTagName('body')[0];
elementDom.requestFullscreen = elementDom.requestFullscreen ||
elementDom.mozRequestFullScreen || elementDom.webkitRequestFullscreen ||
elementDom.msRequestFullscreen;
elementDom.requestFullscreen();
}
function exitFullscreen(text) {
console.log(text);
fullscreen_flag = false;
//alert('Exiting Fullsreen!');
document.exitFullscreen = document.exitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen || document.msExitFullscreen;
document.exitFullscreen();
}
感謝庫巴,但是,它不用於退出模式工作在Chrome中,我稍後會發布更新的jsfiddle代碼。 – Kayote 2014-09-25 10:45:45
Michalek,Ive用代碼更新了主要問題,並更全面地解釋了我正在嘗試解決的問題。謝謝, – Kayote 2014-09-26 10:09:48
@Kayote在這種情況下,我敢肯定你需要使用event.preventDefault();我已經編輯了我的代碼 – 2014-09-26 10:32:02