0

基本上我在做一個簡單的JS重定向,當一個事件被觸發時,這段代碼可以在其他移動/桌面瀏覽器(包括桌面版本的IE ),但不在WP7.1和WP7.5上(我沒有其他WP設備可以測試)。window.location.href不能在Windows Phone 7.1/7.5上運行

window.location.href = "/item_details/" + item_id; 

我看到的行爲是URL在手機導航欄內被替換,它的行爲就像是加載頁面;當進度條無限期掛起時,進度條會慢慢增加到〜90%。查看我的服務器上的日誌,我看不到來自設備的傳入連接。如果我點擊地址欄並手動提交,立即加載預期的頁面。

我看到每個以下的行過的相同的行爲:

window.location.href = "http://www.google.com" 
window.location.replace = "http://www.google.com" 
window.location = "http://www.google.com" 

在每一種情況下,加載條發展到〜90%,並停止,不進行任何出站連接。

+0

有兩個問題:這個調用是來自'iframe'內部,並且是任何種類的Ajax post方法中的調用? – couzzi 2013-04-04 22:50:52

+0

@couzzi不是在iframe或Ajax調用中,它是通過錨點標記上onclick調用的函數中的唯一行。 – devights 2013-04-04 23:01:13

+0

等一下,你爲什麼要圍繞一個錨標籤的'onclick'包裝邏輯?允許錨點自然點擊(沒有任何Javascript干擾)一個選項:'Click' – couzzi 2013-04-04 23:24:15

回答

0

嘗試不同的方法,看看問題是否與window.location分離/相關。

var anchor = document.createElement('a'); 
anchor.href = "http://www.google.com"; 
document.body.appendChild(anchor); 
anchor.click();  
+0

沒有運氣,看到'window.location'的相同行爲 – devights 2013-04-04 22:56:16

2

原來的問題是其在錨標記href="javascript:void(0)"是導致該問題與移動IE瀏覽器。刪除導致重定向工作完美無瑕!

+0

你應該將你的答案標記爲接受的答案 – karancan 2013-05-21 01:12:04

+0

很高興看到一個理由來拋棄整個void(0)技術。我討厭在標記中看到這一點。 – BradGreens 2013-08-27 14:47:30

+0

織補。我正在尋找這個問題的答案,在頁面正文標記的onload事件中使用window.location =「http:// ...」重定向。和你一樣,我發現它可以在每個瀏覽器上工作到一個合理的版本歷史記錄,直到一個帶有windows phone(他說的WP8版本)的朋友測試並找到了相同的行爲...加載顯示但頁面不會改變。可悲的是,在我的情況下,我沒有使用javascript:void(0)刪除的錨標籤。 – Randy 2015-08-09 17:52:05

相關問題