集智平台页面加载后刷新一次
背景
前段时间遇到了在搜狗浏览器下出现了一个类缓存的问题,在搜狗浏览器下访问报表,参数条件变化后结果却一直是相同的,而其他浏览器下正常,结果跟随条件变化而变化。但是如果刷新一下搜狗浏览器,结果就展现正常了。
经过长时间判断为搜狗浏览器的问题,但是问题出在哪一时也没有头绪,而问题又急待解决。
分析
我们有时会遇到比较古怪的问题,一时又找不到问题的出处,而问题又急需解决。这时最好重新分析问题,换个思路看是否有其他的解决方式或途径。
从问题的现象来看,页面加载后刷新一次数据就正常了,如果客户可以接受页面加载后刷新一次的效果,那就可以按照这个思路实现。
实现方法
在发布报表的jsp中加入如下js:
<script>
window.onload=function(){
if (location.href.indexOf(“&xyz=”)<0 && location.href.indexOf(“t_i_m_e=”)<0)
{
location.href=location.href+”?xyz=”+Math.random();
}
}
</script>
代码说明:
① location.href.indexOf(“&xyz=”)<0 用于判断页面是否是第一次加载,如果是当前页面重定位到当前页面并在url中加入xyz=随机数;否则不进行重定向;
② location.href.indexOf(“t_i_m_e=”)<0 用于判断报表是否进行了翻页,如果翻页不再进行重定向(因为润乾翻页时会在url增加时间戳以记录翻页页面)。如果缺少此步骤处理会出现404的错误。
总结
本文从一个简单的实际例子入手来说明如果遇到没有头绪的紧急问题可以更换个思路来处理,而本例中的实现方式如果有同仁遇到相似的问题可以采用类似的方式处理。