【问题标题】:How to set window.opener in Firefox如何在 Firefox 中设置 window.opener
【发布时间】:2012-10-08 09:05:11
【问题描述】:

我有旧代码,它使用 window.opener。我在 jquery 对话框中将这些页面的打开方法从弹出窗口更改为 iframe。这适用于 IE 和 Chrome,我只需要在 onload 事件中重置 window.opener。但是 Firefox 不玩球。它将 opener 设置为 null,无论 opener 是什么或将要设置什么(这很荒谬)。有没有办法在 Firefox 中更改 window.opener?我知道我可以通过将开启者信息存储在其他地方来解决这个问题,但它需要进行更多更改。

【问题讨论】:

  • 我们无法预测您当前的代码,因此无法提供帮助。

标签: javascript firefox window.opener


【解决方案1】:

阻止您覆盖主机对象的只读属性并不可笑。简而言之,没有没有办法改变它。您需要做的是将所有对 window.opener 的引用字符串替换为不同的值,并将您感兴趣的对象放在那里。

【讨论】:

  • 为什么要把它改成null呢?它适用于 IE 和 Chrome。在 Chrome 中,它至少可以在同一个域中工作。
  • 我对它变为 null 有点惊讶。在您的用例中,它听起来应该已经为 null,但是,像这样修改主机对象很容易出现未定义的行为。在任何情况下,您都不应该修改或尝试修改此属性,因此该行为是无关紧要的。
  • Chrome 中的一个已知错误允许将 window.opener 设置为随机值。根据规范,您可以将其更改为的唯一值是 null。
猜你喜欢
  • 1970-01-01
  • 2013-01-16
  • 2014-05-28
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 2022-11-25
  • 2021-02-13
  • 1970-01-01
相关资源
最近更新 更多