0

我很想知道为什么以下内容在 Firefox 21 和 Chrome 26 中不起作用,但它在 IE 6 中起作用。

我有一个包含 iframe 的页面“frame.html”。

iframe 指向另一个页面“post.html”。

post.html 包含一个将用户名发布到服务器 php 页面“redirect.php”的表单。

服务器响应重定向到谷歌。

在 IE6 中,Google 页面出现在 iframe 中,但在 Firefox 和 Chrome 中却没有。

有谁知道为什么会发生这种情况,以及在现代浏览器中是否有可能?

谢谢。

框架.html

<html>
<head>
<title>Frame</title>
</head>
<body>
<iframe width="800" height="800" src="post.html"/></iframe>
</body>
</html>

post.html

<html>
<head>
<title>Post</title>
</head>
<body>
<form action="http://myserver.com/redirect.php" method="post">
<input type="text" name="username"/>
<input type="submit" value="Send"/>
</form>
</body>
</html>

重定向.php

<?php header('Location: http://www.google.com'); exit; ?>
4

1 回答 1

1

现代浏览器内置了跨域保护。

例如。Google Chrome 将此消息记录到控制台:

Refused to display 'http://www.google.nl/' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

如果您要使用您域中的页面,它将起作用。

于 2013-05-21T13:54:24.123 回答