HTML <iframe> sandbox 屬性
定義和用法
sandbox
屬性為 iframe 中的內容啟用了一組額外的限制。
當 sandbox
屬性存在時,它將:
- 將內容視為來自唯一來源
- 阻止表單提交
- 阻止腳本執行
- 禁用 API
- 防止鏈接指向其他瀏覽上下文
- 防止內容使用插件(通過 <embed>、<object>、<applet> 或其他方式)
- 防止內容導航其頂層瀏覽上下文
- 阻止自動觸發的功能(例如自動播放視頻或自動聚焦表單控件)
sandbox
屬性的值可以為空(則應用所有限制),或是以空格分隔的預定義值的列表,這將去除特定的限制。
實例
例子 1
帶有額外限制的 <iframe>:
<iframe src="demo_iframe_sandbox.htm" sandbox></iframe>
例子 2
允許表單提交的 <iframe> 沙盒:
<iframe src="demo_iframe_sandbox_form.htm" sandbox="allow-forms"></iframe>
例子 3
允許腳本的 <iframe> 沙盒:
<iframe src="demo_iframe_sandbox_origin.htm" sandbox="allow-scripts"></iframe>
語法
<iframe sandbox="value">
屬性值
值 | 描述 |
---|---|
""(沒有值) | 應用以下所有限制。 |
allow-forms | 允許表單提交。 |
allow-modals | 允許打開模態窗口。 |
allow-orientation-lock | 允許鎖定屏幕方向。 |
allow-pointer-lock | 允許使用 Pointer Lock API。 |
allow-popups | 允許彈出窗口。 |
allow-popups-to-escape-sandbox | 允許彈出窗口打開新窗口,而不繼承沙盒化。 |
allow-presentation | 允許開始演示會話。 |
allow-same-origin | 允許 iframe 內容被視為與包含文檔有相同的來源。 |
allow-scripts | 允許運行腳本。 |
allow-top-navigation | 允許 iframe 內容導航其頂級瀏覽上下文。 |
allow-top-navigation-by-user-activation | 允許 iframe 內容導航其頂級瀏覽上下文,但僅在用戶發起的情況下。 |
瀏覽器支持
表中的數字注明了首個完全支持該屬性的瀏覽器版本。
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
4.0 | 10.0 | 17.0 | 5.0 | 15.0 |