1

我有 3 个 html 文件和 3 个 js 文件

index.html,rank.html,score.html

global.js,rank.js,score.js

在 index.html 中,我使用 iframe 包含了 rank.html 和 score.html。

在 global.js 中,我声明了 Var rank;& global.js 包含在 rank.html & score.html 中。

我正在更新 rank.js 中的排名值,并且我想访问 score.js 中的更新值。在 score.js 我没有得到更新的值它给出了 UNDEFINED 值。

我不想在 score.html 中包含 rank.js,所以我创建了 global.js 并包含在 html 文件中。

这是我的代码,

索引.html

<html>
    <head>

    </head>
    <body>
<iframe src="../rank/rank.html" frameborder = "0" scrolling="no" width="50%" height = "100%"></iframe>
<iframe src="score.html" frameborder = "0" scrolling="no" width="50%" height = "100%"></iframe>

    </body>
</html> 

global.js

var rank;

score.js

$(document).ready(
        function(){     


                    setInterval(dataupdate, 10000);


    });
function dataupdate() { 

alert(rank) 

};

rank.js

$(document).ready(
            function(){     


                        setInterval(dataupdate, 10000);


        });
    function dataupdate() { 

    rank = "first";

    };

我想更新 score.js 文件中的排名值如何访问该值...

谢谢.....

4

4 回答 4

1

如果 global.js 包含在 index.html 中,那么您需要使用 window.top.rank (或 window.parent.rank 如果 index.html 也可能存在于框架中)。

于 2012-07-19T08:54:41.450 回答
1

当您像您所做的那样声明一个全局变量时,它会被创建为window对象的属性,即window.rank. 您的主窗口和 2 个 iframe 具有单独的window对象,因此window.rank从主框架分配的对象与window.rank从其中一个 iframe 访问的对象不同。

要从 iframe 内部访问主窗口对象的 rank 属性,您可以使用parent.rank而不是window.rank

于 2012-07-19T08:55:26.067 回答
0

您应该将变量保存在索引中,因为您只能从 iframe 访问父变量

index 

var a=5;

-----------

rank

parent.a=6

现在分数可以读parent.a为 6

于 2012-07-19T08:52:39.267 回答
0

尝试

window.parent.rank

或者

window.top.rank
于 2012-07-19T08:54:02.557 回答