2013-02-01 67 views
-1

我們的結帳流程存在一個奇怪的問題。讓說: -奇怪的購物籃會話狀態問題

  • 用戶增加了一些產品到他們的購物籃
  • 點擊查看籃,然後刪除這些產品,然後使用瀏覽器< - 後退按鈕 導航到以前的產品頁面
  • 然後他們將另一個產品添加到 籃子中,這會導致整個網站的佈局崩潰, 就好像沒有加載菜單或產品列表的代碼是 正在被解僱,例如

enter image description here

我認爲這可能與我們使用AJAX的籃子,所以我試圖發佈here建議增加一個隱藏的表單元素,這實際上解決了Chrome,但在Firefox中的問題的網頁頁面卡在一個無限循環,

有沒有人遇到類似的問題,用戶導航回到以前的狀態?我完全失去了什麼嘗試下一步

感謝您的任何幫助

回答

0

嗯,我設法解決這個問題。問題是,當用戶通過歷史導航回到以前的產品頁面時,它被視爲回傳,因此沒有填充頁面上的控件的代碼被解僱,因爲它位於!Page.IsPostBack塊中。

因爲我找不到任何更好的用於確定頁面何時被損壞的情況,我只需在導航選項卡中閱讀並檢查它們是否爲空,這表示頁面未加載正確,然後我們刷新例如

<script type="text/javascript"> 
    $(function() { 
     $("#tabs-nav ul li").each(function() { 
      if (!$(this).children().text() || /^\s*$/.test($(this).children().text())) { 
       location.reload(); 
      } 
     }); 
    }); 
</script> 

它不漂亮,但它的工作

感謝