[問題] jQuery UI 的 Tab 與 IE 的 Cache

看板Ajax作者 (原PO大叔)時間14年前 (2011/08/23 05:37), 編輯推噓0(004)
留言4則, 1人參與, 最新討論串1/1
最近在一個新寫的程式裡頭試著使用一些 jQuery UI 的元件,在google chrome使用都沒問題,但是遇到偉大的IE8....就出現慘劇了... 程式本身是一個 html ,裡頭有個 tabs ,其中有一個頁面是固定頁 ,三個是透過tabs本身的ajax功能去叫進內容。 <div id="tabs"> <ul> <li><a href="#p_page_emp_info">Employee Info</a></li> <li><a href="網址1" title="p_page_summary">Benefit Summary</a></li> <li><a href="網址2" title="BENE_VIEW">Beneficiary List</a></li> <li><a href="網址3">Dependent Info</a></li> </ul> <div id="p_page_emp_info"> 一些內容 </div> </div> 基本上幾個畫面都能正常顯示。但是使用IE的時候它會cache ajax回傳的畫面, 不管怎麼refresh都無法更新... 我甚至試著在 server 端送出的內容裡頭加入 一個timestamp,但是畫面上顯示的一直都還是舊的資料(在google chrome 只要切到另一個tab再切回來就會refresh了) 好,看起來應該是那個ajax call被cache掉了,查了查網路,有好幾篇文章 建議加入 ajaxOptions: {cache: false} 在.tabs()裡頭... 加入的結果是....除了第一個tab之外所有的 tab 內容都無法顯示 (/‵Д′)/~ ╧╧ $.ajaxSetup({ cache: false }); 也會導致一樣的結果(ajax tab內容無法顯示) 請問有沒有高手能夠教一下要怎麼解決IE的這個問題? -- 標準的 <META HTTP-EQUIV="Pragma" NAME="Cache-Control" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" NAME="Cache-Control" CONTENT="no-cache"> 等no-cache檔頭都加了,也加了 tabs({cache: false}) 都沒辦法解決這個問題... -- IE真的是個邪惡的瀏覽器 (#‵′)凸 --

07/13 15:30,
囧r/*\  你幫我看有沒有正常
07/13 15:30

07/13 15:33,
↖( ̄□ ̄|||)a深不見底啊啊啊
07/13 15:33
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 131.204.251.16

08/23 05:52, , 1F
網址後面加 ?id=xxx 流水號每次按完+1,用 get url 欺騙 IE
08/23 05:52, 1F
剛才發現會出現空白頁是因為jQuery在cache: false的狀況下會在URL後頭 加上 _=[TIMESTAMP] ,但是好死不死這台 web server 把這個URL認定為 有問題的URL (400 - Bad Request) 。所以才會出現空白頁 XDDD 目前還找不到解決的方法...繼續努力中... 流水號...我會試試看,不過有點擔心....因為我們員工大概六千多人,每 個人沒事來看一下,流水號可能就會用到一個很可怕的數字。 ※ 編輯: Starwindd 來自: 131.204.251.16 (08/23 05:55)

08/23 05:54, , 2F
如果你的網頁已經使用 $_GET['id'],就避開換一個字
08/23 05:54, 2F

08/23 05:57, , 3F
流水號是 js 控制的,跟 server 端沒關係.
08/23 05:57, 3F

08/23 05:58, , 4F
反正是使用無意義的流水號,server 端不用處理
08/23 05:58, 4F
文章代碼(AID): #1EKimKn0 (Ajax)
文章代碼(AID): #1EKimKn0 (Ajax)