【问题标题】:What is the equivalent of window.opener without opening a new window?不打开新窗口的 window.opener 相当于什么?
【发布时间】:2013-03-27 01:38:38
【问题描述】:

我正在使用的库通过将此脚本添加到弹出窗口来获取对主窗口的引用: var winMain=window.opener;

此脚本允许弹出窗口从打开它的窗口访问全局变量。示例:

<select name=MonthSelector onChange="javascript:winMain.Cal.SwitchMth(this.selectedIndex);winMain.RenderCal();">

但是,如果我尝试在不打开新窗口的情况下调用其中一些变量,这会让我处于尴尬的境地。 (例如,如果我尝试将其中一个日历嵌入到 div 而不是新窗口中。)

  onChange="javascript:Cal.SwitchMth(this.selectedIndex);"

  var winMain=window;
  onChange="javascript:winMain.Cal.SwitchMth(this.selectedIndex);"

两者似乎都不起作用。有没有办法将当前窗口的句柄作为变量?还是我做错了什么?

This question 看起来与我的相似,但答案不起作用。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    改成

    var winMain = window.opener || window;
    

    它说没有window.opener,使用window。

    【讨论】:

    • 成功了!没有注意到我拼错了winMain,我觉得很愚蠢。
    【解决方案2】:

    下面是一个 window.open 等效项

    var w = window.open('', '', 'width=400,height=400,resizeable,scrollbars');
    w.document.write('Content goes here');
    w.document.close();
    

    根据你的需要使用它。

    【讨论】:

      猜你喜欢
      • 2011-08-19
      • 2018-06-04
      • 2011-07-17
      • 2016-06-04
      • 1970-01-01
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多