1

私は Parent.html という HTML ページを持っています。これにはいくつかのインライン JavaScript コードがあり、Child.html という名前の別のページをロードする IFRAME もあります。

Child.html 内の JavaScript コードが、Parent.html 内で宣言された JavaScript オブジェクトを参照できるようにしたいと考えています。

それは可能ですか?試してみましたが、うまくいきませんでした。以下のコードを参照してください。

Parent.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 に答える