【问题标题】:how to access parent window object using jquery?如何使用 jquery 访问父窗口对象?
【发布时间】:2010-01-30 09:50:56
【问题描述】:

如何使用 jquery 访问父窗口对象?

这是我的父窗口变量,我想在关闭子窗口后设置它的值。

$('#serverMsg').html('some text here');

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:
    window.opener.$("#serverMsg")
    

    【讨论】:

    • 我认为只有当 JQuery 在开启器中处于活动状态时才有效。
    【解决方案2】:

    如果您在弹出窗口中并且想要访问打开窗口,请使用window.opener。 如果您也可以在父窗口中加载 JQuery,那么最简单的方法是:

    window.opener.$("#serverMsg").html // 这在父窗口中使用 JQuery

    或者您可以使用普通的旧document.getElementById 来获取元素,然后在您的子窗口中使用jquery 扩展它。以下应该可以工作(不过我还没有测试过):

    element = window.opener.document.getElementById("serverMsg");
    element = $(element);
    

    如果您在 iframe 或框架集中并想要访问父框架,请使用 window.parent 而不是 window.opener

    根据同源策略,只有当子窗口和父窗口都在同一个域中时,所有这些都可以毫不费力地工作。

    【讨论】:

      【解决方案3】:

      或者您可以使用其他方法:

      $( "#serverMsg", window.opener.document )
      

      【讨论】:

      • 我更喜欢这种方法,因为它不依赖于带有 jQ​​uery 的打开窗口——尽管它可能无论如何都会有 jQuery。
      【解决方案4】:

      假设 iframe 中的域名与父窗口的域名匹配,以下是可以在 iframe 中使用的原始问题的更字面答案(父窗口而不是 opener):

      window.parent.$("#serverMsg")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-18
        • 1970-01-01
        • 2015-07-02
        • 1970-01-01
        • 2011-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多