2011-11-23 32 views
4

我想重定向到IE9(9.0.3)中的不同頁面。document.location不會更改IE9中的網頁?

當我嘗試獲取/設置document.locationdocument.location.hrefwindow.location/window.location.href時,我無法這樣做。它沒有提供任何錯誤就會失敗。

我試着檢查文檔和窗口對象是否設置,他們是,所以我不知道爲什麼位置對象是「失蹤」。

我試着得到document.URL,這工作正常,但它是隻讀的。

任何人都知道問題是什麼或如何以跨瀏覽器的方式實現這一點?

+0

我相信這會回答你的問題:http://stackoverflow.com/questions/7857878/window-location-vs-document-location – Ivan

+0

它適用於這裏。你能展示一些相關的代碼嗎? – NullUserException

回答

1

看到這個:http://social.msdn.microsoft.com/Forums/en/iewebdevelopment/thread/c864ae63-66f6-4656-bcae-86b0018d70c9

顯然,這是一個錯誤的緩存,可以附加一個時間戳到目標URL解決這個問題(即每次使用一個「獨一無二」的URL)。

+0

也有確定的可能性。 – Joshua

+0

請注意,這篇文章中的人正在做一些奇怪的事情。他將表格提交給(somepage),然後他重定向到(somepage) - 同一頁面。爲什麼他沒有提交沒有Ajax idk的表單?我認爲「緩存問題」是特定於此行爲的。 – James

1

也許你的IE9有一些安全限制,阻止JavaScript指向URL。 window.location.href =「」應該在IE9上正常工作。

0

緩存可能是這個原因,請嘗試:

 
location.href='something.php?tmp=' + Date.parse(new Date()) 

希望它可以幫助

0

你應該使用絕對URL:

VAR URL = '/節/頁/';
var host = window.location.hostname;
window.location ='http://'+ host + url;

其中,url是頁面的相對路徑。

9

我也遇到同樣的問題,但發現,添加

window.event.returnValue = false; 

上面一行在JavaScript重定向之前解決了這個問題。

+0

聖牛。這是解決方案。 Gr8工作dinga。真的很高興能給你提供一些東西 - 這個問題在過去的一週裏一直讓我瘋狂 –

+0

這讓我在ie8中瘋了,謝謝! – Rob

+1

不適用於Firefox以及Chrome頁面加載.. –