2013-05-10 96 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