我在我的MVC代码中应用了一个jquery函数,用于在按钮单击时以全屏模式显示当前窗口。这是jquery: -
function FullScreen() {
if ((document.fullScreenElement && document.fullScreenElement !== null) || // alternative standard method
(!document.mozFullScreen && !document.webkitIsFullScreen)) { // 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();
}
}
}
我在标签的onclick事件上调用了这个函数。 有了这个,我可以在Chrome和Mozilla上以全屏模式按下按钮打开我的窗口,并在按ESC键时退出全屏模式。但在IE8中,当我点击按钮时没有任何反应。我怎样才能使这个功能适用于IE8。 有什么建议吗?
感谢。
答案 0 :(得分:1)
如果浏览器支持全屏API(Chrome,FX10,Safari 6,Opera 12.1),那么您可以使用它。
如果没有(例如IE8),那么出于安全原因你不应该模仿它:如果我可以创建一个全屏运行而不先通知用户的页面,那么我可以模仿OS界面元素要求输入密码等。
以下是how a phishing scam might work的一个很好的例子。
此安全原因是WebKit实现禁用键盘输入的原因。
IE用于支持无铬弹出窗口,但这是removed as a security bug in IE6。
例如,您可以尝试发送F11键:
var shell = new ActiveXObject("WScript.Shell");
shell.SendKeys("{F11}");
但这不应该在互联网环境中被允许(它可能在受信任的域中,具体取决于用户设置)。
无论如何,IE10全屏运行(默认情况下),所以仍然不支持此API。答案 1 :(得分:0)
抱歉,IE8尚不支持全屏API。 Here是关于使用全屏API的好文章。它还指出Internet Explorer没有全屏API支持。
目前还没有Internet Explorer或Opera支持,但我愿意 建议你使用'ms'和'o'前缀进行未来验证。