您能否幫助我理解HTML5的Chrome實現iframe沙箱屬性允許使用相同的原則並允許頂級導航?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-same-origin不起作用,單獨的allow-scripts工作得很好(腳本運行,但不是與API SOP相關,可以考慮HTML5標準)。
HTML5的標準說:
「首先,它可以用來允許來自同一個網站的內容被沙盒禁用腳本,同時仍然允許進入沙箱內容的DOM。」
我誤解了或Chrome的實現是錯誤的嗎?
第二個問題:
HTML5的標準說關於允許頂導航:
「第二,它可以被用來從第三方網站上嵌入內容,沙箱,以防止網站從打開彈出式窗口等,而不阻止嵌入式頁面與其原始站點通信,使用數據庫API存儲數據等。「
Chrome中的我的彈出窗口未被阻止。我怎麼能阻止他們?我只使用allow-top-navigation。
乾杯, 大衛