2013-05-10 97 views
0

我正在使用旧版网页,该版式仅在用户刷新时才在Chrome中突破。所以,我注意到,如果我按住shift +刷新,下次用户刷新时会正确加载用户界面。这是一个不想花费太多时间的快速错误。这是我到目前为止:全部刷新为硬刷新

var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; 

if(is_chrome && document.refresh.visited.value == ""){ 
    document.refresh.visited.value = "1"; 
} 
else{ 
    location.reload(true); 
} 

我也有一个隐藏的输入,在页面顶部值=“”。每次他们第二次来到这个页面时,我都希望能够进行一次硬性刷新。

+0

听起来像是一个缓存问题,但我不完全清楚你在问什么。 – 2013-05-10 14:59:23

+0

那么现在你有什么问题? location.reload(true)是否符合你的期望? – MofX 2013-05-10 14:59:50

+0

如果我不清楚,这是一个缓存问题。在转换+ f5后,u/i恢复正常。在这种情况下,Location.reload(true)会一直重复加载。 – pcproff 2013-05-10 15:01:24

回答

1

尝试添加此功能:

function getParameter(paramName) { 
    var searchString = window.location.search.substring(1), 
     i, val, params = searchString.split("&"); 

    for (i=0;i<params.length;i++) { 
    val = params[i].split("="); 
    if (val[0] == paramName) { 
     return unescape(val[1]); 
    } 
    } 
    return null; 
} 

,然后使用:

了window.location = 'yourPage.html reloadMe =真的吗?';

所以,你的代码是:

var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; 
var reload = true; 
if(getParameter("reloadMe")=="true"){ 
    reload = false; 
} 

if(is_chrome && reload){ 
    window.location = 'yourPage.html?reloadMe=true'; 
} 

我不知道这是否会与你的缓存问题帮助,但它会从重装一遍又一遍停止页。

+0

此代码适用于空白页面页面。但是,我的问题似乎是关注于右侧的iframe,导致一些css类在刷新时无法正确显示。有用的方案我会继续挖掘。 – pcproff 2013-05-10 16:03:51