我正在尝试使用 JavaScript FullScreen API,从这里使用当前非标准实现的变通方法:
https://developer.mozilla.org/en/DOM/Using_full-screen_mode#AutoCompatibilityTable
可悲的是,它的行为非常不稳定。我只关心 Chrome(使用 v17),但由于我遇到了问题,我在 Firefox 10 中做了一些测试以进行比较,结果是相似的。
下面的代码尝试将浏览器设置为全屏,有时可以,有时不行。它总是调用警报以指示它正在请求全屏。这是我发现的:
- 它通常设置全屏。它可以进入停止工作的状态,但警报仍然发生,即它仍在请求全屏,但它不起作用。
- 如果从按键处理程序 (document.onkeypress) 调用它可以工作,但在页面加载 (window.onload) 上调用时则不能工作。
我的代码如下:
function DoFullScreen() {
var isInFullScreen = (document.fullScreenElement && document.fullScreenElement !== null) || // alternative standard method
(document.mozFullScreen || document.webkitIsFullScreen);
var docElm = document.documentElement;
if (!isInFullScreen) {
if (docElm.requestFullscreen) {
docElm.requestFullscreen();
}
else if (docElm.mozRequestFullScreen) {
docElm.mozRequestFullScreen();
alert("Mozilla entering fullscreen!");
}
else if (docElm.webkitRequestFullScreen) {
docElm.webkitRequestFullScreen();
alert("Webkit entering fullscreen!");
}
}
}