作者Starwindd (原PO大叔)
看板Ajax
标题[问题] jQuery UI 的 Tab 与 IE 的 Cache
时间Tue Aug 23 05:37:17 2011
最近在一个新写的程式里头试着使用一些 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真的是个邪恶的浏览器 (#‵′)凸
--
1F:推 MiuLove:囧r/*\ 你帮我看有没有正常 07/13 15:30
2F:推 shaka1aka: ↖( ̄□ ̄|||)a深不见底啊啊啊07/13 15:33
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 131.204.251.16
3F:→ tyf99:网址後面加 ?id=xxx 流水号每次按完+1,用 get url 欺骗 IE 08/23 05:52
刚才发现会出现空白页是因为jQuery在cache: false的状况下会在URL後头
加上 _=[TIMESTAMP] ,但是好死不死这台 web server 把这个URL认定为
有问题的URL (400 - Bad Request) 。所以才会出现空白页 XDDD
目前还找不到解决的方法...继续努力中...
流水号...我会试试看,不过有点担心....因为我们员工大概六千多人,每
个人没事来看一下,流水号可能就会用到一个很可怕的数字。
※ 编辑: Starwindd 来自: 131.204.251.16 (08/23 05:55)
4F:→ tyf99:如果你的网页已经使用 $_GET['id'],就避开换一个字 08/23 05:54
5F:→ tyf99:流水号是 js 控制的,跟 server 端没关系. 08/23 05:57
6F:→ tyf99:反正是使用无意义的流水号,server 端不用处理 08/23 05:58