我正在使用以下脚本让我的网络应用程序全屏显示...
function enterFullscreen(){
var element = document.getElementById('container');
if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
}
l('Fullscreen Mode entered','internal');
}
所以,当我通过$('button.toggle-fullscreen').click(function(){ enterFullscreen(); });
点击触发按钮时,我确实进入全屏,只有我的元素变黑。只是黑色,没有别的。
任何人都知道如何解决这个问题?
仅供参考我正在使用Chrome 27。
答案 0 :(得分:15)
浏览器的全屏“视觉环境”的默认背景颜色为黑色。您的内容实际上是,但它目前是黑色背景上的黑色文字,因此您无法看到它(尝试突出显示或按Ctrl+A
自己查看)。
如果要使背景成为不同的颜色,则必须指定CSS规则以将background-color
属性设置为默认值以外的其他属性。所以,在你的情况下:
#container:fullscreen {
background-color: rgba(255,255,255,0);
}
#container:-webkit-full-screen {
background-color: rgba(255,255,255,0);
}
#container:-moz-full-screen {
background-color: rgba(255,255,255,0);
}
应该做的伎俩。 (确保使用相应的供应商版本 - :-webkit-full-screen
和:-moz-full-screen
- 直到规范最终确定; see MDN for more information。)
事实上,也许只是
*:fullscreen, *:-webkit-full-screen, *:-moz-full-screen {
background-color: rgba(255,255,255,0);
}
@DevilishDB编辑: 使用rgba作为透明BG并添加*选择器以使前一个工作
答案 1 :(得分:12)
我不知道您问题的确切答案,但这些信息可能有所帮助:
我与enterFullscreen(document.body);
有类似的黑背景问题。将行更改为enterFullscreen(document.documentElement);
后,背景颜色变为正常。
我使用的CSS是body{background-color: #D7D7D7; margin: 0px;}
。
答案 2 :(得分:9)
不知道为什么,但似乎身体元素的背景没有全屏显示或变得透明......
我通过为html元素设置背景颜色来修复它,它工作得很好:
html {
background-color: #ffffff;
/* Or any color / image you want */
}
答案 3 :(得分:2)
没有其他答案对我有用(Chrome 70或FF 63)
将其添加到CSS文件中确实有效
::backdrop
{
background-color: white;
}
答案 4 :(得分:0)
我花了几个小时来找到解决这个问题的窍门。
我结束了:
然后:
它在Firefox和Chrome上对我有效
::backdrop {
z-index:0;
background-color: white !important;
}
html, *:fullscreen, *:-webkit-full-screen, *:-moz-full-screen {
background-color: white !important;
z-index:1;
}
答案 5 :(得分:0)
可接受的答案适用于大多数浏览器,但在我的测试中不适用于IE11。对我来说,这适用于iOS上的当前Chrome,Firefox,Edge,IE 11和Safari:
CSS:
body {
background-color: #ffffff;
}
JS:
function openFullscreen () {
let isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
let elem = isSafari ? document.documentElement : document.body;
let openFn = elem.requestFullscreen || elem.mozRequestFullScreen || elem.webkitRequestFullscreen || elem.msRequestFullscreen;
if (openFn) {
openFn.call(elem);
}
};
编辑:为iOS / Safari添加了例外,该例外不适用于使用body
元素。