2011-06-23 5 views
1

iframeが親のDOMにアクセスしている、またはその逆のiframeでのドメイン間の問題がわかりましたが、iframeが親を別の場所にリダイレクトできることがわかりました。srcが外部ドメインであるiframeから、 "parent"オブジェクトを介してどのようなメソッドを利用できますか?

<!-- http://www.domain1.com --> 
<iframe id="some_iframe" src="http://www.domain2.com"></iframe> 

を、組み込みコンテンツ::例えば、「親」ページを取る埋め込まれたコンテンツ内のボタンがクリックされた場合

<!-- http://www.domain2.com --> 
<html> 
    <head> 
    <title>I'm embedded</title> 
    </head> 
    <body> 
    <input type="button" onclick="parent.location = 'http://www.domain3.com';" value="Redirect my parent to another site" /> 
    </body> 
</html> 

、親が正常に第三URLにリダイレクトされます。明らかに、iframe内の埋め込みコンテンツは、その親の場所を設定するためのアクセス権を持っています。しかし、親(例えば、 "parent.outerHeight")で他のメソッドを呼び出そうとすると、 "http://www.domain2.com/のフレームからのURLがhttp://www.domain1.com/のフレームにアクセスするための安全でないJavaScriptの試みが発生します。私のJSコンソールで。

「ロケーション」以外の方法があれば、それが親オブジェクトを呼び出すことができる埋め込みコンテンツであるかどうか不思議です。これらの公共機能のリストはありますか?ありがとう。

答えて

0

この質問はブラウザ固有のものです。 HTML5では、postmessageという通話の通信方法が認められています。ここにはlink for your reviewがあります。

+0

postMessageに関する情報をありがとう。私はhttp://benalman.com/code/projects/jquery-postmessage/examples/iframe/の変更を終わらせました。 – robertwbradford

関連する問題