Javascript跨域问题

问题描述:

我们的网站给出了一个要安装在页面中的小部件(一段写入iframe元素的JavaScript,里面呈现的是事物,您会看到rss,图像和其他内容)。Javascript跨域问题

我需要,在用户做了一些事情之后,将页面(小部件所在的位置)重定向到另一个位置,但由于小部件生成的页面和iframe位于不同位置,因此使用top.document.location是禁止的,并且使用弹出式窗口拦截器通常会阻止window.open

我该怎么办?

尝试:

window.location.href = "url"; 
+0

不,内容被加载到由小部件生成的iframe中... – FlamingMoe 2011-03-08 15:55:30

虽然top窗口阅读性质是不允许的,他们中的一些是开放的 - 而这些都是location之一。

根本就

top.location = "http://foo/bar"; 

,它会重定向就好了。

+0

感谢您的更正。 [它肯定看起来像你是对的](http://stackoverflow.com/questions/952242/),但我无法找到任何可靠的文件只写属性(例如MDC,W3C,Quirksmode,甚至维基百科)。你有关于这个的或多或少的官方文档的链接? – 2011-03-11 14:26:42

+0

@Matt,这不是W3规范所涵盖的内容 - 这是不同浏览器供应商在实施相同原产地策略(这不属于任何规范)允许的行为。 但是“位置”是唯一的这样的属性(允许导航)(除了与FF2中的frameElement和IE6-7中的window.opener相关的'错误')。 – 2011-03-11 15:40:35