asl*_*rai 3 javascript iframe html5 sandbox
我正在使用srcdoc属性将HTML内容加载到iframe中.iframe是一个没有权限的沙盒iframe,因此iframe中的所有Javascript都被阻止.但是,仍会在iframe内触发远程请求(例如CSS,图像等).
是否有任何可能的方法告诉iframe只加载我在srcdoc属性中提供的内容而不进行任何其他请求?
提前致谢
大概是没有,因为iframe的沙盒是为了避免在主文档和iframe的文档之间共享敏感数据或限制潜在的破坏性行为.
iframe在功能上仍然是一个浏览器窗口,并且会像这样,加载在其中声明的所有外部资源,唯一的区别是它显示在另一个文档而不是另一个窗口中.
如果内部存在的代码srcdoc调用了远程资源,那么浏览器正在通过加载它们来完成您要告诉它的操作.
如果您不希望加载这些资源,则必须从srcdoc代码中编辑它们.
话虽这么说,可能存在一种方法来阻止加载资源,方法是Content Security Policy使用meta标签在iframe的文档中使用from :
<meta http-equiv="Content-Security-Policy" content="default-src 'none';">
Run Code Online (Sandbox Code Playgroud)
要么
<meta http-equiv="X-Content-Security-Policy" content="default-src 'none';">
Run Code Online (Sandbox Code Playgroud)
我在Firefox 39.0.3下尝试过这个但是没有用,可能是因为以下原因:
无论如何,有关更多信息,请参阅:
| 归档时间: |
|
| 查看次数: |
1222 次 |
| 最近记录: |