javascript:window.document返回null

时间:2013-03-26 08:09:09

标签: javascript

我有一个名为'welcome.html'的HTML文档,它使用iframe引用'main.html'。在'inner.html'文件中,另一个iframe用于引用'inner.html'。现在在'inner.html'里面我想访问main.html元素之间的元素/或进行通信。我使用以下方式在javascript中执行此操作,

方法1:

..
..
var top_window = window.top;
alert(top_window)    // gives top window object
var main_window = top_window.frames['main-frame'] // assuming that 'main-frame' is the name given at the iframe declaration for 'main.html'
alert(main_window)    // gives main window object
var main_document = main_window.document
alert(main_document)    // gives 'undefined'
..
..

方法2:

..
..
var parent_window = window.parent;
alert(parent_window)    // gives parent window object, that is, 'main.html' window object
var parent_document = parent_window.document
alert(parent_document)    // gives 'null'
..
..

我想要'main.html的窗口对象的文档对象。我的方法都没有用。有没有合理的解决方案,或者我是以错误的方式做到这一点?

提前致谢。

1 个答案:

答案 0 :(得分:0)

在iframe之间进行通信的最简单方法是获取窗口对象。在父项和子项中创建一个getter setter函数,并在两个窗口对象之间传递值。

这将返回iframe的窗口对象

var contentWindow = document.getElementbyId('iframe').contentWindow 

从iframe使用window.parent

访问父窗口