2012-03-21 9 views
0

私は対象が少し混乱するかもしれないと知っていますが、私の検索では、iframe内で親ページから価値を得ることについてたくさんの質問がありました。これは私が達成したいことではありません。iframe内のDOMから値を取得する(親ページではない)

私は2つのhtmlページとjsファイルを持っています。そのコードは、いくつかの中でどのようなイム期待

console.log(parent.somevar); 

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これは、彼らがどのように見えるかです.jsは "somevar"オブジェクトを出力しますが、 'undefined'を出力します。 inner.htmlを直接(iframe要素ではなく)実行すると、オブジェクトが正常に出力されます。

私は

console.log(parent); 

をすれば、私は親ウィンドウ(outer.html)のDOMを取得します。

そうです、私の質問 - どのように私は(inner.htmlまたは他のスクリプトタグ)some.jsファイルから

BR inner.htmlのDOMを取得します/

+0

'$(" iframe#someEleID ")' ???もちろん、jQueryが必要ですが、簡単です – SpYk3HH

答えて

0

console.log(somevar) Sune?

+0

Heh - これは実際に動作するようです。今、スクリプトがなぜ "parent.somevar"を最初に持っていたのか疑問に思っていますか? Wierd – sunebrodersen

関連する問題