1

我有一个名为 Parent.html 的 HTML 页面,它有一些内联 JavaScript 代码,它还有一个 IFRAME,它在其中加载另一个名为 Child.html 的页面。

我希望 Child.html 中的 JavaScript 代码能够引用 Parent.html 中声明的 JavaScript 对象。

那可能吗?我试过了,但没有用。请看下面的代码。

父.html

<html>
    <head>
        <script src = "jQuery.js" type = "text/javascript"></script>
        <script>
            var Foo = 
            {
                Initialize: function()
                {
                    alert('Hello, I am Foo.');
                },

                SomeVariable : 'I am a property of the Foo class.'
            };

            $(document).ready( function() { Foo.Initialize(); } );
        </script>
    </head>

    <body>
        <h1>Parent</h1>

        <p>This is the parent Web page.</p>

        <p>
            <IFRAME src = "child.html" height = "400" width = "800"></IFRAME>
        </p>
    </body>
</html>

Child.html

<html>
    <head>
        <script type = "text/javascript">
            $(document).ready( function() { Foo.Initialize(); alert(Foo.SomeVariable); } );
        </script>
    </head>

    <body>
        <h4>Child</h4>

        <p>This is the child Web page.</p>

        <p>
            I am a child.

            <script>

            </script>
        </p>
    </body>
</html>

这些页面有没有办法在它们之间共享数据?

4

1 回答 1

4

window.top.Foo.Initialize()或者window.parent.Foo.Initialize()

请参阅https://developer.mozilla.org/en-US/docs/Web/API/window.parent?redirectlocale=en-US&redirectslug=DOM%2Fwindow.parent

请注意,跨窗口访问受同源策略的约束

于 2013-09-02T06:11:54.663 回答