Mat*_*ith 2 html javascript firefox confirm greasemonkey
我想要在确认框中单击"确定"时整个网页转到全屏,但只有这样才会出现错误TypeError: docelem.requestFullscreen is not a function.我尝试了所有但没有...
var conf = confirm("Fullscreen mode?");
var docelem = document.documentElement;
if (conf == true) {
docelem.requestFullscreen();
}
else if (conf == true) {
docelem.mozRequestFullScreen();
}
else if (conf == true) {
docelem.webkitRequestFullScreen();
}
else if (conf == true) {
docelem.msRequestFullscreen();
}
Run Code Online (Sandbox Code Playgroud)
一些解决方案 或者确认()是不可能的?因为有一个按钮工作:
(function () {
var fullscreenon = document.getElementById("fullscreenbutton");//button Id
if (fullscreenon) {
fullscreenon.addEventListener("click", function () {
var docelem = document.documentElement;
if (docelem.requestFullscreen) {
docelem.requestFullscreen();
}
else if (docelem.msRequestFullscreen) {
docelem.msRequestFullscreen();
}
else if (docelem.mozRequestFullScreen) {
docelem.mozRequestFullScreen();
}
else if (docelem.webkitRequestFullScreen) {
docelem.webkitRequestFullScreen();
}
}, false);
}
})();
Run Code Online (Sandbox Code Playgroud)
第一,两个样本的条件不同.正确的代码是:
var conf = confirm("Fullscreen mode?");
var docelem = document.documentElement;
if (conf == true) {
if (docelem.requestFullscreen) {
docelem.requestFullscreen();
}
else if (docelem.mozRequestFullScreen) {
docelem.mozRequestFullScreen();
}
else if (docelem.webkitRequestFullscreen) {
docelem.webkitRequestFullscreen();
}
else if (docelem.msRequestFullscreen) {
docelem.msRequestFullscreen();
}
}
Run Code Online (Sandbox Code Playgroud)
其次,重要的是,如果没有用户交互,您无法全屏显示页面.这是一项安全限制.如果您通过用户点击触发上面的代码,那么它将起作用.例如:
document.onclick = function (argument) {
var conf = confirm("Fullscreen mode?");
var docelem = document.documentElement;
if (conf == true) {
if (docelem.requestFullscreen) {
docelem.requestFullscreen();
}
else if (docelem.mozRequestFullScreen) {
docelem.mozRequestFullScreen();
}
else if (docelem.webkitRequestFullScreen) {
docelem.webkitRequestFullScreen();
}
else if (docelem.msRequestFullscreen) {
docelem.msRequestFullscreen();
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果单击页面上的任意位置,将激活全屏模式.更多细节:https://stackoverflow.com/a/20533579/198062