问题标签 [window.opener]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
245 浏览

javascript - javascript 和父/子窗口中的“with”关键字的有趣怪癖

我注意到 javascript 中的“with”关键字以及父子窗口关系,特别是 window.opener 的一些特殊之处。我没有从父窗口测试过这个,只是孩子,但在下面的例子中值得注意 -

父窗口(Parent.html):

子窗口(Child.html):

在这种情况下,“with”关键字切换到父窗口,第二个警报也将隐式 onfocus 触发到父窗口。我没有意识到“with”会切换到父窗口,但现在它是有道理的。

0 投票
1 回答
2194 浏览

javascript - hta 中的 window.open 问题?

今天,以前工作的东西突然停止工作。几个月来它一直运行良好,突然间它就坏了。我恢复到以前的代码,以防我自己不小心破坏了某些东西,但即使是我知道以前的代码在以同样的方式破坏之前也能正常工作。

我们的应用程序目前作为 hta 运行,直到现在,我已经能够使用 window.open 打开窗口。但是,现在 window.open 似乎无法正常工作,因为打开的窗口没有指定的尺寸。在窗口中,window.opener 是 null/不是对象,但我认为这可能是 window.open 的来源,因为窗口甚至无法正确打开。

作为一个有趣的说明,如果我只是在 IE 中打开应用程序,而不是使用 .hta 文件,它可以完美运行。有什么理由会突然闯入hta?另外,是否有解决方法或以某种方式解决此问题?

0 投票
0 回答
1502 浏览

javascript - 受信任站点 (IE8) 中的 window.opener 问题

这是我的问题:我正在从主浏览器窗口打开一个弹出窗口,用户在该窗口中登录到第 3 方站点。登录后,弹出窗口将被重定向到我们的站点,我必须将消息发送回原始窗口。

我正在使用 window.opener 发送消息。在 IE*/Firefox/etc 中一切正常,但如果将第 3 方站点添加到 IE 中的受信任站点,window.opener 将不再工作。

为什么会这样?如何解决?

提前致谢

0 投票
0 回答
544 浏览

javascript - 从Javascript中的第二个子窗口刷新父窗口

工作流程是这样的,在我的页面中,我使用window.open方法创建了一个弹出窗口,然后从该窗口打开其他弹出窗口并关闭其直接父级,我需要从此弹出窗口刷新第一个父级页面。我尝试了不同的方式,但该window.opener方法无法获取父窗口属性。

谁能帮我解决这个问题?

0 投票
2 回答
1343 浏览

javascript - ASP.NET 和 Javascript:将值从一个窗口设置到另一个窗口

我从父应用程序打开了一个子浏览器窗口 (aspx)。子窗口有一些控件和一个文本框。当用户完成后,他/她单击一个按钮,以下代码从子窗口中获取值并填充父窗口,如下所示:

这对于我在父页面上的文本框非常有用。但是现在,我需要填充一个列表框并且运气不佳。我已经尝试了这两种方法,但无济于事:

两者都得到“htmlfile:不支持此类接口”。

有人有什么想法吗?

谢谢,

杰森

0 投票
3 回答
3511 浏览

printing - 打印谷歌地图 v3

我正在尝试创建一个按钮,该按钮将打印嵌入在网页上的谷歌地图

见代码:

这是保存我的地图的 div

这是打印按钮

当我单击打印按钮时,出现错误“window.opener 为空”。打印地图的正确代码是什么?

0 投票
1 回答
3728 浏览

javascript - 弹出窗口如何更改其父跨域的页面位置?

我希望有一个人可以帮助我。

我有一个使用 javascript 打开另一个域中存在的弹出窗口的网站。

在弹出窗口中,我想要一个“立即预订”链接/按钮,它将父网站的页面更改为它的 booking.htm 页面,然后弹出窗口关闭。

不可能将弹出窗口托管在与主网站相同的域上。

我尝试了两种代码类型来更改页面位置...

1)

2)

在 Firefox 6 和 Chrome 12 - 1 和 2 都可以完美运行。

在 Internet Explorer 8 中 - 方法 1 导致父窗口抛出一个黄色弹出栏,为用户提供临时允许弹出窗口的选项。方法 2 在弹出窗口中给出“页面错误”并给出解释“权限被拒绝”。

在 Opera 11.51 - 这两种方法都会在“未捕获异常:ReferenceError:安全错误:试图写入受保护变量”的错误控制台中引发错误

我很确定这些问题与主网站和弹出窗口位于不同的域有关,但再次将它们托管在同一个域上不是一种选择。

所以我问..

  • 有没有办法让弹出窗口上的代码在它们位于不同域时更改其父级的页面位置,跨浏览器工作?
  • 为什么 Internet Explorer 在方法 1 中抛出黄色弹出栏,当我不使用 window.open 时,我使用的是 location.href?即我要求家长更改位置而不是打开新的弹出窗口。
  • 我错过了使用某种“目标=”代码吗?
  • 我需要使用某种“return false”吗?或者其他的东西?

[我在这里有一个示例,但现在我已将其删除,因为我设置了一个额外的网络托管帐户以显示跨域问题的实际效果。但我现在不需要额外的虚拟主机,所以我取消它以省钱。带来不便敬请谅解]

感谢您阅读本文,即使您帮不上忙。

戴夫

0 投票
1 回答
3358 浏览

javascript - jQuery Window.Opener

二我正在尝试将一些值写回父页面并编写了以下内容,但它说 SCRIPT5007: Unable to get value of the property 'document': object is null or undefined

本质上,变量是在另一个函数中设置的,并且需要将值发送回父页面上的一组字段。

任何帮助都是极好的!

0 投票
1 回答
807 浏览

javascript - 如何将 .show() 和 .hide() 与开瓶器一起使用?

我有一个包含几张照片的页面,当点击一张照片时,会打开一个 div,使用整个可用屏幕的空间来显示一个相册……就像 facebook 的照片查看器一样。现在,我想按 ESC 键并返回第一页...

PS:在 div showAlbumDiv 中,我调用了一个 iframe,并且通过 jquery.css 属性,我可以使用 iframe 的 src 属性。这是因为我必须通过访问专辑查看器来传递一个变量!

我在专辑查看器中使用以下代码:

开瓶器有 div allOfIt 和 showAlbumDiv .... 在线示例位于http://videoarts.com.br/newSite/portifolio ...

只有专辑查看器:http: //videoarts.com.br/newSite/album/40

有什么帮助!?

谢谢!

0 投票
2 回答
59748 浏览

javascript - window.opener.location.href 适用于 IE,但不适用于 Chrome 或 Safari

我一直在研究这个问题,虽然在各种论坛上有很多关于类似问题的帖子,但没有一个问题或解决方案与我的完全匹配。

我有一个应用程序已成功使用以下功能在完成弹出窗口后重定向回父窗口。最近一直在研究其他浏览器的兼容性(让系统可以通过iPad使用),发现在使用Safari或者Chrome的时候这个功能有问题。

父页面是一些数据库信息的摘要,用户单击链接打开一个窗口(通过 window.open)以查看更详细的数据。完成后,子窗口上有一个链接,该链接会刷新父级上的数据(部分是为了确保在您返回父级时显示正确的数据)并关闭子级。

Safari 中的控制台报告“'window.opener.location.href' 的结果不是函数”。我曾尝试使用上述和“window.opener.document.location.href”和“window.opener.window.location.href”(取自网上提供的其他解决方案)但没有成功。

我知道有些人的这个功能运行良好,而另一些人则有这种问题。我想知道这种特定情况是否有任何答案。

这是我的功能:

这从 IE7、8 和 9 的第一天开始就有效,但在 Safari(适用于 Windows 或 iPad)或 Chrome 中无效。

有任何想法吗?