LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

如何防止 iframe 内的页面“冲出来”?

freeflydom
2026年3月3日 10:29 本文热度 133
:如何防止 iframe 内的页面“冲出来”?

✅ 为 <iframe> 添加 sandbox 属性

sandbox 可以限制 iframe 内的页面执行某些操作,例如禁止脚本、禁止表单提交、禁止导航到父窗口等。

<iframe src="demo.ashx" sandbox="allow-scripts allow-same-origin"></iframe>
  • allow-scripts:允许执行脚本(否则原页面中的 JavaScript 跳转会失效)。

  • allow-same-origin:允许脚本访问同源内容(如果 ashx 需要读取 cookie 或进行同源 AJAX 请求,则需要此项)。

这个组合不包含 allow-top-navigation,所以会阻止 iframe 内的任何脚本试图改变顶层窗口的地址。
如果“冲出来”的原因是 ashx 返回的脚本中包含了 window.top.location = ... 或 parent.location = ...,那么 sandbox 就能有效阻止。

⚠️ 注意事项

  • sandbox 不会阻止 HTTP 重定向
    如果 ashx 直接返回一个 302 重定向,浏览器会默默在 iframe 内加载新地址,不会影响父页面。但如果新地址又包含跳出脚本,脚本执行会被 sandbox 拦截。

  • sandbox 可能影响页面功能
    allow-scripts allow-same-origin 已经允许了脚本和同源访问,通常足够满足大多数需求。但若 ashx 需要弹窗、表单提交、或加载插件等功能,可能需要额外添加 allow-popupsallow-forms 等标志。请测试原功能是否受影响。

  • 跨域问题
    如果 iframe 内页面与父页面不同源,sandbox 中的 allow-same-origin 仅相对于 iframe 内页面自身的源,不会赋予跨父页面的权限,这符合预期。



该文章在 2026/3/3 10:31:58 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved