2013-07-18 102 views
1

如何爲JavaScript變量分配本地存儲變量?Javascript本地存儲錯誤

這裏是我的嘗試:

var abc=localStorage.crabc; 
function tab() 
{ 
    if (abc==2) { 
     window.open("index.html","_self") 
    } else { 
     window.open("main.html","_self") 
    } 
} 
tab() 
localStorage.crabc="2"; 
+0

在你的代碼中,你把'localStorage.crabc =「2」;'後面的'tab()'行,這可能是原因:),是什麼錯誤? –

+1

'if(abc = 2)'?我建議(重新)訪問js基礎知識... – tborychowski

回答

1

您需要使用localStorage.getItem()localStorage.setItem()後檢索和存儲項目的localStorage:

var abc=localStorage.getItem('crabc'); 

function tab() 
{ 
    if (abc=='2') { 
     window.open("index.html","_self") 
    } else { 
     window.open("main.html","_self") 
    } 
} 
tab(); 
localStorage.setItem('crabc', '2'); 
+0

工作的OMG。非常感謝MrCode.I這個本地存儲變量將永遠保留在PC上,或者當用戶使用Ccleaner之類的東西時它會被刪除?非常感謝! –

+0

它將一直保留到用戶明確刪除它。我不確定當前版本的CCleaner是否刪除本地存儲,但用戶可以根據需要將其從瀏覽器選項中刪除。 – MrCode

+0

剛試過自己它仍然使用後仍然非常感謝你澄清! –

3
  1. 在localStorage的該項目將是一個字符串。
  2. 您正在使用賦值運算符 - 一個等號:「=」 - 與等號運算符「==」相對。
  3. 你缺少一個分號tab()
+0

對不起,我初學者。這個代碼需要什麼,當用戶第一次訪問一個特定的網址,他/她應該被重定向到一些URL從第二次到無限時間他應該繼續第二個網址。這可能嗎? –

1

試試這個Demo here

function tab() { 
     var check = window.localStorage.getItem("visitedBefore"); 

     if (check) { 
      alert('already visited'); 
      window.open("index.html", "_self") 
     } else { 
      alert('first time visited'); 
      window.open("main.html", "_self") 
     } 

     window.localStorage.setItem("visitedBefore", true); 
    } 

HTML :

<input type="button" value="redirect" onclick="tab()" /> 
+0

感謝您的工作,以及 –

+0

我可以得到upvote爲此? – Sudarshan

+0

Hi Mota chuha我的聲望級別是8,所以我需要去15點upvote一次。 –