今天,接到个需求,要求用iframe嵌套网站,不让网站使用localstorage等存数据。百度了半天还是没有找到方法,只能去研究一下iframe,看看它有什么属性之类的可以解决。

果然,经过我又百度半天,了解到了iframe有个sandbox的属性可以进行配置,最终配置如下:

<iframe sandbox="allow-scripts" src="baidu.com"></iframe>

这个配置sandbox=“allow-scripts” 是允许运行嵌套网站的js脚本。

这个sandbox属性对呈现在iframe框架中的内容启用一些额外的限制条件。如果设定sandbox=" ",将应用所有的限制;如果不设置这个属性,则默认允许所有限制;允许多个限制可以用空格分隔属性值,如:sandbox="allow-forms allow-same-origin allow-scripts

常用的属性值

属性值 说明
allow-forms 允许进行提交表单
allow-scripts 运行执行脚本
allow-same-origin 允许同域请求,比如ajax,localstorage等
allow-top-navigation 允许iframe能够主导window.top进行页面跳转
allow-popups 允许iframe中弹出新窗口,比如,window.open,target="_blank"
allow-pointer-lock 在iframe中可以锁定鼠标,主要和鼠标锁定有关

参考文档1
参考文档2

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐