有一个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文件中的变量呢?谢谢。
我的iframeB的js文件位置,跟iframeB中写的js文件的引用位置不一致,也就是说,iframeB就没有引用到这个js文件。改过来之后运行结果就正常了...
document.frames["IframeB"].varB 难道不行?
不清楚为什么,我感到很奇怪,在iframeA中,window.frames['IframeB'].varB的值是undefined。
@sikla: 用firefox+firebug调试, 看这几个对象的属性。。。
@问天何必: 嗯,谢谢。