问题是,当我调用window.close()或self.close()它没有关闭窗口时.现在似乎有一种信念,即在Chrome中你无法通过脚本关闭任何非脚本创建的窗口.这显然是错误的,但无论它应该仍然这样做,即使它需要弹出警报确认.这些都没有发生.
那么,是否有人使用真实的,功能性的,经过验证的关闭窗口的方法,使用类似的东西javascript:window.close()或者javascript:self.close()实际上做了预期的东西以及在非Chrome浏览器的每个浏览器中都能正常运行的东西?任何建议将不胜感激,我正在寻找Javascript特定的解决方案,没有JQuery或第三方实现.
更新:虽然所提出的大部分内容存在严重的局限性和可用性问题,但// @grant window.close在脚本标题中使用的最新建议(特定于TamperMonkey)通常会在通常无法处理close方法的选项卡上执行此操作.虽然不完全理想,并没有针对每种情况推广,但在我的情况下,这是一个很好的解决方案.
我们正在努力让我们的网络应用程序作为全屏网络应用程序运行.我使用这些元标记让它工作:
<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">
Run Code Online (Sandbox Code Playgroud)
因此,现在当您从iPhone或Android设备上的主屏幕启动Web应用程序时,它将全屏启动(没有浏览器控件).
现在我们需要一种允许用户退出的方法,我希望创建一个具有退出按钮的菜单但是使用window.close()在chrome中给出了以下错误:
Scripts may close only the windows that were opened by it.
Run Code Online (Sandbox Code Playgroud)
处理这个问题的正确方法是什么?