HTML iframe sandbox 屬性
HTML <iframe>sandbox屬性
HTML <iframe> 標簽
實例
帶有額外限制的 <iframe>:
<iframe src="demo_iframe_sandbox.htm"sandbox=""></iframe>
(更多實例見頁面底部)
瀏覽器支持
Internet Explorer 10、Firefox、Chrome 和 Safari 支持 sandbox 屬性。
注意:Opera 和 Internet Explorer 9 及之前的版本不支持 sandbox 屬性。
定義和用法
如果指定了空字符串(sandbox=""),該屬性對呈現在iframe框架中的內容啟用一些額外的限制條件。
sandbox 屬性的值既可以是一個空字符串(將會啟用所有的限制),也可以是用空格分隔的一系列指定的字符串。
HTML 5通過sandbox屬性提升iFrame的安全性。sandbox屬性可以防止不信任的Web頁面執行某些操作。
HTML 5規范的編輯Ian Hickson談到了sandbox的好處,它可以防止如下操作:
- 訪問父頁面的DOM(從技術角度來說,這是因為相對于父頁面iframe已經成為不同的源了)
- 執行腳本
- 通過腳本嵌入自己的表單或是操縱表單
- 對cookie、本地存儲或本地SQL數據庫的讀寫
HTML 4.01 與 HTML5之間的差異
sandbox 屬性是 HTML5 中的新屬性。
語法
<iframe sandbox="value">
屬性值
值 | 描述 |
---|---|
"" | 啟用所有限制條件 |
allow-same-origin | 允許將內容作為普通來源對待。如果未使用該關鍵字,嵌入的內容將被視為一個獨立的源。 |
allow-top-navigation | 嵌入的頁面的上下文可以導航(加載)內容到頂級的瀏覽上下文環境(browsing context)。如果未使用該關鍵字,這個操作將不可用。 |
allow-forms | 允許表單提交。 |
allow-scripts | 允許腳本執行。 |
更多實例
一個允許表單提交的 <iframe> sandbox
啟用一系列額外限制,但允許表單提交。
一個允許腳本和訪問服務器內容的 <iframe> sandbox
啟用一系列額外限制,但允許腳本和訪問服務器內容。
HTML <iframe> 標簽