問題是寫完某個具有 jQuery/TAB 功能的頁面,在點擊錨點時,第一次會導致頁面更新(refresh),而且這個狀況只有在 IE會發生,在 Firebox 跟 Chrome 裡都是運作正常。
補充描述系統的情境,該網頁如果是從別的地方代登入進來的,會接受一個 page的參數,假如是 2,網址最後就會串 #2,透過產生第一頁時讓使用者看到 tab=2 的頁面。
而問題會產生的狀況,假如系統是自己登入的,網址會變 #null,如"在 IE"的情況下,第一次點錨點類link(ex X),雖然會跳到該區塊,但造成頁面刷新,也就讓使用者原本在看的區快跑掉了。
經過數次交叉比對測試,終於發現解決方式,就是程式在收完參數,判斷如是 null 後,不要在 url串入 #p
ex: xxx.jsp?ooo=xxx&oo=xx#p
不論是p值或是#都不要加入網址,這樣子 IE的問題就解決。
原本懶惰一律加上去網址變數的寫法,因為在 firefox 沒有問題,所以就不理這樣 o.0