2011-07-13 16 views
5

HTML5 iframeサンドボックスのChrome実装で、同じ原点と許可トップナビゲーションを実装できることを理解できますか?HTML5 iframeサンドボックスの属性の問題

最初の質問:

たとえば、私は許す-同一生成元を私は何をテストする場合:file.htmlの

<iframe id='frm' src="file.html" sandbox="allow-same-origin"></iframe>  
...  
oIFrame = document.getElementById('frm'); 
var oDoc = (oIFrame.contentWindow || oIFrame.contentDocument);  
if (oDoc.document)  { 
oDoc = oDoc.document; 
oDoc.getElementById('foo').innerText = 'Hello man!'; 
... 

内容:

... 
<div id="foo">Hello</div>  
... 
alert(document.cookie); 
... 

をし、それが唯一の仕事ですallow-scriptsという追加の属性があるので、私はsandbox = "allow-scripts allow-same-origin"を持っています。単独では動作できず、単独でスクリプトを実行できます(スクリプトは実行されますが、API SOPは関係ありません.HTML5標準にも関係します)。

HTML5の標準は言う:

「まず、まだサンドボックスのコンテンツのDOMへのアクセスを可能にしながら、スクリプトを無効にするには、サンドボックス化されるように同じサイトからコンテンツを可能にするために使用することができます。」

Chromeの実装が間違っていると誤解していますか?

2番目の質問:

は「第二に、そのサイトを防ぐために、サンドボックス、サードパーティのサイトからコンテンツを埋め込むために使用することができます:

HTML5の標準に関するトップナビゲーションができるように言います埋め込まれたページが元のサイトに戻って通信したり、データを格納するためにデータベースAPIを使用することを妨げることなく、ポップアップウィンドウを開くことなどから、

Chromeのポップアップがブロックされません。どうすればそれらをブロックできますか?私はちょうど許可トップナビゲーションを使用します。最初の質問については

乾杯、 デビッド

答えて

0

: これが自体でスクリプトが実行からブロックされている間、親ページはまだ、サンドボックスのDOMにアクセスすることができることを意味表示されます。それだけでなく、parent -> iframeiframe -> parent

2番目の質問です: たぶん私は誤解だけど、名前allow-top-navigationが、これはを許可するのではなくtop.location.replace()のようなものを使用してから、フレームのサイトをブロックする意味として。

関連する問題