2014-04-02 81 views
1

我目前有一個功能在我的頁面上運行,根據啓動頁面上選擇的內容更改頁面。javascript重定向後無法返回

我當前的方法是location.href='/this/page/'雖然當我單擊瀏覽器中的後退按鈕時,它會返回但大約5ms(至少看起來是什麼樣子)並返回到像刷新一樣的頁面。無論我點擊多少次,它都不會回到我的初始頁面。

第一次點擊返回時,它按照上面的說明進行操作,第二次點擊會跳到之前的來啓動頁面。

編輯:如果它很重要,我有這些在switch

編輯:這是我用來切換頁面的html/javascript。此代碼僅在我的初始頁面上。

HTML:

<select id="ds"> 
    <option>&gt;-- Select --&lt;</option> 
    <option value="1">Blue Sky Travel</option> 
    <option value="2">Paterson's Curse</option> 
    <option value="3">Eugowra Progress Society</option> 
    <option value="4">Eugowra Bushranger County</option> 
</select> 

的Javascript:

$('select#ds').change(function(){ 
    var i = $(this).val(); 
    switch(i) { 
     case "1": 
      location.href='/bst/' 
      break; 
     case "2": 
      location.href='/pc/' 
      break; 
     case "3": 
      location.href='/eps/' 
      break; 
     case "4": 
      location.href='/w8/' 
      break; 
     default: 
    } 
}).change(); 
+0

您所描述的問題無法在您的解釋中複製。您錯過了重要的細節,請嘗試發佈[SSCCE](http://www.sscce.org/)。 –

+0

涉及多少頁面,他們的網址是什麼?啓動頁面是否有專用的網址或通過AJAX加載? – mellamokb

+0

@mellamokb飛濺頁面有一個專門的網址。我使用這種方法爲8個不同的頁面,他們都做同樣的事情。對於其中的四個,他們只是'location.href ='/ pageX /';',其他四個是相同的,但在一個目錄中。 – Spedwards

回答

1

您應該創建重定向的着陸頁上的cookie,且僅當cookie不執行初始頁面上location.href碼存在。這樣,當用戶回來時,他們不會立即重定向。

+0

我從來沒有使用過cookies,所以我並不完全想使用它們。我寧願知道它爲什麼會這樣做,所以我可以解決它。 – Spedwards

+0

@Spedwards當您加載頁面時,您的'location.href'代碼正在執行。您可以通過將該重定向代碼置於條件語句中來解決此問題。 –