在过去的几个小时里,我已经阅读了一些关于相同的原始政策,我对这个想法有所了解,但我对我目前的设置有疑问。
我有一个页面,我们会致电foo.com/home
,并在该页面上打开一个iframe,其网址为foo.com/home/bar
。现在,在foo.com/home/bar
的框架中,如果我在点击时有一个超链接说www.google.com
,我是否可以将iframe重定向到Google而不违反相同的原始政策?我至少不会看到这种伤害,因为这将是一个简单的重定向。
我问的原因是因为上述设置我无法将我的iframe重定向到www.google.com
。事实上,如果这是针对相同的原产地政策可能会有人将其分解并解释如何?我会理解,如果我使用iframe将数据提交到另一个域,但我只是想让我的iframe重定向到另一个域。
答案 0 :(得分:5)
它与相同的原始政策相关,但它不起作用仅因为google.com明确禁止将网页嵌入到iframe中。
如果您查看JavaScript console,您会看到以下内容:
拒绝在一个框架中显示“https://www.google.com”,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。
如果您尝试其他没有设置X-Frame-Options的页面,例如http://nytimes.com,即使它不是同一个域,它也会有效。
答案 1 :(得分:4)
而
或者就谷歌而言。
可能的解决方案是使用像http://developer.yahoo.com/javascript/howto-proxy.html
这样的本地代理
这可能有助于https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript。