我有一个名为'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的窗口对象的文档对象。我的方法都没有用。有没有合理的解决方案,或者我是以错误的方式做到这一点?
提前致谢。
答案 0 :(得分:0)
在iframe之间进行通信的最简单方法是获取窗口对象。在父项和子项中创建一个getter setter函数,并在两个窗口对象之间传递值。
这将返回iframe的窗口对象
var contentWindow = document.getElementbyId('iframe').contentWindow
从iframe使用window.parent