首页 新闻 会员 周边 捐助

Javascript: 不能访问子Iframe中的变量

0
[已解决问题] 解决于 2015-02-04 17:29

有一个Iframe IframeA,在IframeA中有一个子Iframe IframeB,IframeA和IframeB的Javascript代码都写在独立的js文件中。

我在IframeB的js文件中声明了一个全局变量并赋值,

var varB = "aaaaa";

然后在IframeA的js文件中访问这个变量:

var iframeB = window.frames['IframeB'];
var varB = iframeB.varB;

结果显示iframeB是一个window对象,但是varB是undefined。

 

然后我使用了另外一种方法,把变量varB的声明放在html文件中:

<script type="text/javascript">
    var varB = "aaaaa"; 
</script>

再执行iframeA的js文件中的代码,结果varB就有值了,这是为什么呢?

怎么样才能访问iframeB的js文件中的变量呢?谢谢。

sikla的主页 sikla | 初学一级 | 园豆:27
提问于:2015-02-04 17:01
< >
分享
最佳答案
0

我的iframeB的js文件位置,跟iframeB中写的js文件的引用位置不一致,也就是说,iframeB就没有引用到这个js文件。改过来之后运行结果就正常了...

sikla | 初学一级 |园豆:27 | 2015-02-04 17:29
其他回答(1)
0

document.frames["IframeB"].varB  难道不行?

问天何必 | 园豆:3311 (老鸟四级) | 2015-02-04 17:07

不清楚为什么,我感到很奇怪,在iframeA中,window.frames['IframeB'].varB的值是undefined。

支持(0) 反对(0) sikla | 园豆:27 (初学一级) | 2015-02-04 17:09

@sikla: 用firefox+firebug调试, 看这几个对象的属性。。。

支持(0) 反对(0) 问天何必 | 园豆:3311 (老鸟四级) | 2015-02-04 17:10

@问天何必: 嗯,谢谢。

支持(0) 反对(0) sikla | 园豆:27 (初学一级) | 2015-02-04 17:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册