我们正在尝试让我们的web应用程序作为全屏web应用程序运行。我使用这些元标记实现了这一点:
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="apple-mobile-web-app-title" content="Full Screen">
因此,现在当你在iPhone或安卓设备上从主屏幕启动web应用程序时,它将进入全屏(没有浏览器控制)。
现在我们需要一种方法来允许用户退出,我希望创建一个有退出按钮的菜单,但使用window.close()会在chrome中显示以下错误:
Scripts may close only the windows that were opened by it.
处理这个问题的正确方法是什么?
发布于 2015-04-26 18:23:11
关闭全屏模式的一种方法是使用以下脚本:
function exitFullScreen(element) {
var requestMethod = element.exitFullscreen ||
element.mozCancelFullScreen ||
element.webkitExitFullscreen ||
element.msExitFullscreen;
if (requestMethod) {
requestMethod.call(element);
} else {
console.log("Oops. Request method false.");
}
}
然后这样叫它:
var $smallscreenButton = $("#smallscreen-button");
$smallscreenButton.on("click", function() {
var elem = document;
exitFullScreen(elem);
});
您在使用window.close()时遇到的错误是,您应该使用window.open()在同一个javascript中打开窗口,然后窗口应该已经正确关闭。你不能用javascript关闭任意的窗口,这就是为什么你不能不打开就调用close的原因。
所以,像这样:
var myWindow = window.open();
myWindow.close(); // this works.
资料来源:
https://stackoverflow.com/questions/29241834
复制相似问题