2013-08-12 34 views
0

我正在研究和使用帶FireFox的html5全屏API,我有一個本地html文件,名稱'SamplePlayer.html'。如果我發起這個文件,並點擊「全部」按鈕,使一個元素像全屏模式:[FireFox] [HTML5 FullScreen API]如何檢測用戶是否點擊'允許'按鈕並允許全屏模式

function launchFullScreen (element) { 
    if (typeof(element) == "undefined") 
    element = document.documentElement; 
    if (element.requestFullScreen) { 
    element.requestFullScreen(); 
    } 
    else if (element.mozRequestFullScreen) { 
    element.mozRequestFullScreen(); 
    } 
    else if(element.webkitRequestFullScreen) { 
    element.webkitRequestFullScreen(); 
    } 
    return true; 
} 

火狐顯示一個對話框(也許別的東西)「按ESC鍵退出全屏模式,讓全屏,允許,拒絕',我的問題是,如何檢測用戶點擊「允許」按鈕,此對話框消失?不僅元素進入完整模式,對話框依然存在。

我已經與測試:

document.addEventListener('webkitfullscreenchange', adjustElement, false); 
document.addEventListener('mozfullscreenchange', adjustElement, false); 
document.addEventListener('fullscreenchange', adjustElement, false); 

function adjustElement() { 
    //alert("change"); 
    //var tmp = fullscreenElement(); 
    var tmp = fullscreen(); 
    alert(tmp); 
} 

function fullscreenElement() { 
    return document.fullscreenElement || 
     document.webkitCurrentFullScreenElement || 
     document.mozFullScreenElement || 
     null; 
} 

function fullscreen() { 
    return document.fullscreen || 
     document.webkitIsFullScreen || 
     document.mozFullScreen || 
     false; 
} 

但是當用戶請求全屏,用戶是否點擊‘允許’按鈕或沒有,所有這些函數返回true,我怎麼能檢測用戶是否點擊‘允許’按鈕並允許使用FireFox的全屏模式?

回答

0

您無法檢測是否單擊了「允許」按鈕,並且您無法檢測到它或無法檢測到它。這是用戶決定和實施細節。 應該有一些「黑客」來檢測它,這將是一個實施細節,隨時可能會發生變化,並且很有可能只是爲了關閉此信息泄漏而改變。

通過mozfullscreenchange事件,您能夠檢測到並應該使用的是進入/現有全屏模式狀態更改。請參閱Using fullscreen mode文檔。

+0

謝謝,這是否意味着,使對話的唯一方法(也許別的東西)'按ESC退出全屏,允許全屏,允許,拒絕'消失是用戶單擊按鈕,否則對話框始終存在?換句話說,我怎樣才能讓對話淡出?與JavaScript公關別的東西? – user2638168

相關問題