Access parent object in JavaScript from iFrame/Window

15,738

Option 1

Your title mentions a child window. If you have a child window, and not an iframe, use this:

window.opener.events_data

Check out window.opener on MDN.

Option 2

Your code indicates that you're using an iframe. From an iframe, simply use parent:

parent.events_data;

Check out window.parent on MDN.


window.opener - Returns a reference to the window that opened this current window.

window.parent - When a window is loaded in an , , or , its parent is the window with the element embedding the window.

Share:
15,738
user823527
Author by

user823527

Updated on June 13, 2022

Comments

  • user823527
    user823527 almost 2 years

    How do I access a global object or array defined in a parent window in the child window.

    <script>
        var events_data;
        function function_to_fill_events_data () {
          .
          .
          .
        }
    </script>
    
    <div>
        <div><iframe src="mini.php" width:100%; height: 100%;" scrolling="no"></iframe> </div>
    </div>
    

    When I am in the mini document I'd like to be able to access the events_data variable in a javascript function.

  • Vitaliy Lebedev
    Vitaliy Lebedev about 12 years
    And what about permission deniel ? If browser doesn't allow to access parent properties from iframe ?
  • Vitaliy Lebedev
    Vitaliy Lebedev about 12 years
    If I'm not mistaken, this happens when the contents of iframe is loaded from another domain
  • James Hill
    James Hill about 12 years
    @Malgin, you're correct. Cross domain scripting is a huge security risk and is therefore not allowed. You can tell that the OP is not attempting to do that because the src attribute of his iframe is using a relative path.
  • Vitaliy Lebedev
    Vitaliy Lebedev about 12 years
    @JamesHill All that is true, but if this is required ? Here's my question and the way I'm going to do that in my app (click)
  • James Hill
    James Hill about 12 years
    @Malgin, ask these questions in your thread, not in the comments of this question.