iframe可能会重定向它所在的页面吗?
示例:
您访问www.fuu.com
在fuu.com上有一个iframe
因为iframe是一个重定向到另一个网站的网站。
是否可以重定向fuu.com?而只是iframe转到另一个页面?
答案 0 :(得分:3)
<击>否。 iframe被视为具有自己DOM的单独文档。 iframe中的重定向仅被视为该iframe内的重定向。
换句话说,主页无法被iframe重定向。
首页
<html>
<body>
<iframe src="redirect.html"></iframe>
</body>
</html>
<强>将redirect.html 强>
<html>
<head>
<script>
window.top.location = "http://www.w3schools.com";
</script>
</head>
</html>
这会将首页重定向到w3schools.com
要防止此类事件,您可以使用以下
删除它<html>
<body>
<iframe src="redirect.html" sandbox="allow-scripts"></iframe>
</body>
</html>
在chrome中,这会出现以下错误:
Unsafe JavaScript attempt to initiate navigation for frame with URL 'http://127.0.0.1/scg/?search=&submit=Search' from frame with URL 'http://127.0.0.1/scg/iframeRedirect.html'. The frame attempting navigation of the top-level window is sandboxed, but the 'allow-top-navigation' flag is not set.
allow-scripts允许Javascript仍在iframe中执行,但从允许执行中删除window.top。 Check this out