重新加载页面后IE浏览器缓存未清除



IE浏览器缓存在重新加载页面后未清除。

实际结果:

我们正在使用 Dojo 过滤,并且在第一次登录应用程序数据时正确显示,我尝试根据必须显示的数据更改组合中的选项,但在我的情况下页面正在重新加载并且它显示以前的数据。我已经尝试了以下设置更改选项,然后它工作正常。

https://superuser.com/questions/81182/how-to-force-internet-explorer-ie-to-really-reload-the-page

选择"工具">>"互联网选项"。 单击浏览历史记录中的设置按钮。 选择每次访问网页时单选按钮。 单击"确定"关闭"设置"对话框。 单击"确定"关闭"因特网选项"对话框。

预期成果

在不更改浏览器设置的情况下,它应该在更改 dojo 组合时显示新数据,并且不应显示以前的数据。

法典:

function setNamespaceMode(selection)   
{
console.log( "Setting namespace mode:" + selection.value + " from " + dojo.cookie("cmdb.mode.namespaceID"));
if (  dojo.cookie("cmdb.mode.namespaceID") != selection.value ) {
dojo.cookie("cmdb.mode.namespaceID",selection.value, { path: '/cmdb/'});
dojo.cookie("cmdb.mode.namespace",selection.textbox.value, { path: '/cmdb/'});
var url = window.location.href.split("#"); // 'Bookmarked' URLs don't come back to server on a refresh so strip the bookmark part
console.log("refresh url " + url[0]);
window.location.href=url[0]; // refresh the page with the namespace filter applied
} 
}
**Jsp code:**
<div dojoType="dijit.layout.ContentPane" href="/cmdb/coherence/cache?ccType=${ipccClassName}" >
</div>
<div dojoType="dijit.layout.ContentPane" href="/cmdb/coherence/cache?ccType=${extClassName}" >
</div>
<div dojoType="dijit.layout.ContentPane" href="/cmdb/coherence/cache?ccType=${proxyClassName}" >        

要避免浏览器缓存问题,您可以执行以下操作:

  • 在客户端,向您的 url 添加一个额外的参数,例如当前时间。 Dojo/Request 和其他一些 Dojo 模块具有preventCache选项,可以做到这一点。
  • 配置 Web 服务器以设置不应缓存的 URL 的cache-controlExpiresHTTP 标头。

最新更新