同源政策

时间:2013-12-03 08:52:20

标签: javascript jquery html iframe same-origin-policy

在过去的几个小时里,我已经阅读了一些关于相同的原始政策,我对这个想法有所了解,但我对我目前的设置有疑问。

我有一个页面,我们会致电foo.com/home,并在该页面上打开一个iframe,其网址为foo.com/home/bar。现在,在foo.com/home/bar的框架中,如果我在点击时有一个超链接说www.google.com,我是否可以将iframe重定向到Google而不违反相同的原始政策?我至少不会看到这种伤害,因为这将是一个简单的重定向。

我问的原因是因为上述设置我无法将我的iframe重定向到www.google.com。事实上,如果这是针对相同的原产地政策可能会有人将其分解并解释如何?我会理解,如果我使用iframe将数据提交到另一个域,但我只是想让我的iframe重定向到另一个域。

2 个答案:

答案 0 :(得分:5)

它与相同的原始政策相关,但它不起作用仅因为google.com明确禁止将网页嵌入到iframe中。

如果您查看JavaScript console,您会看到以下内容:

  

拒绝在一个框架中显示“https://www.google.com”,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。

如果您尝试其他没有设置X-Frame-Options的页面,例如http://nytimes.com,即使它不是同一个域,它也会有效。

答案 1 :(得分:4)

enter image description here

enter image description here
或者就谷歌而言。

可能的解决方案是使用像http://developer.yahoo.com/javascript/howto-proxy.html

这样的本地代理

enter image description here

这可能有助于https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript