2011-03-08 93 views
0

我們的網站給出了一個要安裝在頁面中的小部件(一段寫入iframe元素的JavaScript,裏面呈現的是事物,您會看到rss,圖像和其他內容)。Javascript跨域問題

我需要,在用戶做了一些事情之後,將頁面(小部件所在的位置)重定向到另一個位置,但由於小部件生成的頁面和iframe位於不同位置,因此使用top.document.location是禁止的,並且使用彈出式窗口攔截器通常會阻止window.open

我該怎麼辦?

回答

0

嘗試:

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

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

0

雖然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