Window.close();在Chrome和Mozilla Firefox中无效

时间:2015-06-09 06:26:42

标签: javascript

我的应用程序通过批准和拒绝按钮向经理发送电子邮件

  • 当经理点击按钮时,网页将会打开。
  • 在该页面中是一个关闭按钮。单击关闭按钮,它应关闭浏览器窗口。但它没有关闭,它在控制台上抛出一条错误消息“脚本可能无法关闭脚本未打开的窗口。”

我试图关上窗户,即已经打开。不管怎样的方式

var win = window.open('','_self');
win.close();

window.top.opener=null;
window.close();

var win=window.open("","_self");
win.close(); 

window.open('','_parent',''); 
window.close();

以上不起作用。有人可以为此提供解决方案。

提前谢谢你。请不要关闭它。因为我搜索了很多,我没有找到解决方案。

2 个答案:

答案 0 :(得分:3)

请参阅MDN on window.close()

  

仅允许为打开的窗口调用此方法   通过使用window.open()方法的脚本。如果窗口不是   由脚本打开,JavaScript中出现以下错误   控制台:脚本可能无法关闭脚本未打开的窗口。

答案 1 :(得分:1)

我会使用jQuery UI组件Dialog

 $(function() {
    $( "#dialog" ).dialog();
  });
<link href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<div id="dialog" title="Basic dialog">
  <p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p>
</div>

您收到该错误消息,因为o​​utlook会将链接点击重定向到新的浏览器实例。打开后,他无法控制它。

您可以关闭它打开的页面,但绝对无法关闭浏览器实例本身。

如果您通过电子邮件发送,那么根据邮件查看器,您有limited support。例如:gmail剥离html头,正文,所有非内联css和javascript。简而言之:jQuery UI Dialog不起作用。

而是使用带有get参数的链接(例如:唯一用户ID),并在打开页面时读取它。