<script>
    onload = function()
    {
        opener.logTitle("Child 1 loaded.");

        Object.prototype.myVal = "child1";
        var myGlobal = {
            myGlobalVal: "child1"
        };

        opener.logTitle("Child 1 objects set.");

        opener.getObjectOfChild1 = function()
        {
            return {};
        };

        opener.getGlobalOfChild1 = function()
        {
            return myGlobal;
        };

        opener.test("getObjectOfChild1", "myVal");
        opener.test("getGlobalOfChild1", "myGlobalVal");

        window.location = "closure-access-after-navigation-window-child-2.html"
    }
</script>
Child 1
