从iframe中获取DOM的值(不是父页面)

时间:2012-03-21 16:08:51

标签: javascript dom

我知道主题可能有点令人困惑,但在我的搜索中,我发现很多关于在iframe内从父页面获取价值的问题。这不是我想要的。

我有2个html页面和一个js文件。这就是他们的样子:

outer.html:

...
<body>
<iframe src="./inner.html"></iframe>
</body>
....

inner.html

    <head>
    <script type="text/javascript">
        var somevar = { id:302 };
        (function() { 
var ml = document.createElement('script'); 
ml.type = 'text/javascript'; 
ml.async = true; 
ml.src = './some.js'; 
var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ml, s);
}) ();
        </script> 
    </head>

some.js:

console.log(parent.somevar);

我期待的是some.js中的代码会输出“somevar”对象,但它输出'undefined'。如果我直接运行inner.html(而不是通过iframe元素),那么它输出的对象很好。

如果我这样做

console.log(parent);

我得到了父窗口的DOM(outer.html)。

所以我的问题是 - 如何从some.js文件(或inner.html中的其他脚本标签)获取inner.html的DOM

BR /淑娜

1 个答案:

答案 0 :(得分:0)

console.log(somevar)