2013-07-24 199 views
0

我知道这个问题已经在这个网站上多次提出,但似乎我找到的答案没有奏效。所以基本上在父文档中,我有一个iframe,它指向同一个域中名为external.html的文档。在external.html文件中,head部分的script标签中定义了一些变量。我想要做的是在父文档中访问这些变量。以下是我使用的代码:在父文档中访问iframe元素

$('#iframe-id').load(function(){ 
    var e = document.getElementById('iframe-id').contentWindow.e; 
}); 

但是,它不能可靠地工作。如果我在该陈述之后做了警告(e),有时它会显示未定义,但有时会显示正确的值。我的解释是,当iframe中的脚本尚未完成执行时调用加载函数。换句话说,它取决于两个脚本(父节点和iframe中的脚本)的执行时间。添加超时声明不是我的选择。即使当iframe完全呈现时,是否有一种可靠的方法来启动,包括HTML部分和修改HTML元素的脚本?

回答