当窗口已通过表单标记打开时,使用 javascript 关闭浏览器窗口

Close the browser window using javascript, when the window has been opened by form tag

本文关键字:窗口 使用 javascript 浏览器 表单 已通过      更新时间:2023-09-26

我正在使用表单标签使用代码打开一个新窗口,

<form action="/xxx/yyy.asp?ax=12345&amp;bx=56432146" method="post" target="_blank">
        <input type="submit" value="Open Test" class="btn-yellow ie-fix" id="btn-confirm">
</form>

它打开了带有查询字符串ax和bx的新窗口,现在我只想使用javascript/Angularjs关闭此窗口。

要关闭我使用的窗口,

window.close();

但它没有用。

有人可以帮助我吗?

您只能关闭您使用 window.open() 创建的函数。

在这种情况下,您可以使用它来关闭窗口:

var win = window.open('stackoverflow.com');
win.close();

在其他情况下,您似乎无法执行此操作。

新窗口由target="_blank"属性打开,该属性无法使用window.close()close()关闭,因为window是全局对象。

也许你应该尝试使用AJAX。向表单中使用的URL发送POST请求success回调使用window.open()以弹出一个新窗口。

此外,请确保存储打开的窗口的实例,因为稍后必须使用它来关闭窗口,因为win.close() win是使用window.open()方法创建的存储实例的变量。

包括基于 jQuery 的 AJAX 作为示例。你可以尝试使用AngularJS。

引用:

  1. jQuery AJAX API
  2. 窗口 - Mozilla 开发者网络