javascript – 在表单提交上获取对_blank目标窗口的引用

前端之家收集整理的这篇文章主要介绍了javascript – 在表单提交上获取对_blank目标窗口的引用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个表单在提交时打开一个新窗口:
<form id="form-id" target="_blank">

我想通过javascript访问新创建的窗口,而无需手动为目标生成唯一名称,也无需使用其他方法打开窗口.

似乎必须有一个简单的方法来做到这一点,但我找不到一个能在我的具体情况下工作的方法.

解决方法

我并不是100%确定这适用于所有浏览器,但是当< a>上的目标属性时,Firefox似乎设置了window.opener.或< form>导致打开一个新窗口.因此,您可以转向另一个方向并从新窗口中找到原始窗口(假设您在那里控制代码;如果没有,那么我无法想象您无论如何都可以对窗口引用做很多事情).

当然,新窗口中的代码可以做的一件事是在旧窗口中调用一个函数,传入自己的窗口引用.

因此,具体来说,如果你有:

<form action=whatever target=_blank>

在原始页面上,然后在新打开的窗口中结束的页面可以执行此操作:

<head>
  <script>
    if (window.opener) {
      window.opener.announceWindow( window );
    }
  </script>

假设announceWindow()是原始页面上的一个函数,可能是这样的:

function announceWindow( win ) {
  // do stuff with "win",a newly-opened window
}
原文链接:https://www.f2er.com/js/149903.html

猜你在找的JavaScript相关文章