首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何退出全屏web应用

如何退出全屏web应用
EN

Stack Overflow用户
提问于 2015-03-25 04:03:22
回答 1查看 4.7K关注 0票数 20

我们正在尝试让我们的web应用程序作为全屏web应用程序运行。我使用这些元标记实现了这一点:

代码语言:javascript
复制
    <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中显示以下错误:

代码语言:javascript
复制
Scripts may close only the windows that were opened by it.

处理这个问题的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-26 18:23:11

关闭全屏模式的一种方法是使用以下脚本:

代码语言:javascript
复制
 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."); 
          } 
     }

然后这样叫它:

代码语言:javascript
复制
       var $smallscreenButton = $("#smallscreen-button"); 
       $smallscreenButton.on("click", function() { 
                    var elem = document;
                    exitFullScreen(elem); 
        });

您在使用window.close()时遇到的错误是,您应该使用window.open()在同一个javascript中打开窗口,然后窗口应该已经正确关闭。你不能用javascript关闭任意的窗口,这就是为什么你不能不打开就调用close的原因。

所以,像这样:

代码语言:javascript
复制
 var myWindow = window.open();
 myWindow.close(); // this works.

资料来源:

1

2

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29241834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档