项目中发现,多系统通过iframe嵌套时,如果iframe的请求是重定向会导致父级页面重定向,怎么破?
查找MDN(https://developer.mozilla.org/zh-CN/docs),找到sandbox 属性是用来限制安全沙箱的.
最终的设置
(不包含allow-top-navigation即可)
1、在 PC 端你可以这样设置 iframe, 来防止父级页面被重定向, 产生重定向结果的链接会以 _blank 的形式打开
<iframe src="page-b.html" sandbox="allow-forms allow-scripts allow-same-origin allow-popups"></iframe>
2、在移动端你需要这样设置 iframe, 让产生重定向结果的链接失效, 来达到防止父级页面被重定向的目的
<iframe src="page-b.html" sandbox="allow-forms allow-scripts allow-same-origin"></iframe>