2015-10-06 45 views
-1

我在刷新頁面時出現了未定義計數器的全局變量的問題。每次您導航到另一個頁面時它對顛簸的櫃檯和正常工作......但只要你打刷新它說:「無法讀取的未定義的屬性0」全局變量在頁面刷新時未定義JAVASCRIPT

我的代碼:

var answer = function(currAnswer){ 
    if(answer[index].getAnswer !== currAnswer){ 
     return false; 
    } 
    else { 
     return true; 
    } 
} 

它工作正常,直到你刷新頁面,然後它抱怨0未定義?索引是在瀏覽頁面時碰到的全局變量...

這不是最佳做法,但我仍然對發生的事情感到困惑?

+0

'answer'被定義爲一個函數,然後你試圖像數組(或關聯數組)那樣讀取它 - 它完全不清楚你在這裏要做什麼。 – Jamiec

+0

這是正常的刷新頁面清除所有的變量,這是它應該如何工作 – Saar

+0

@薩爾有什麼奇怪的是,當我console.log('索引:',索引);它甚至在我刷新後給我正確的索引... – Exziled

回答

3

Javascript是客戶端庫。新的頁面加載(aka刷新)開始一切。如果你想堅持跨頁面加載的東西,你可以使用:

  1. 服務器/數據庫來跟蹤這個特定用戶
  2. 一個cookie
  3. 本地或會話存儲
  4. 查詢在URL字符串

請參見本文的題目補充閱讀:http://www.webreference.com/authoring/languages/html/HTML5-Client-Side/index.html

+0

我正在將其設置到我的會話中,但我認爲其他地方正在破壞它。謝謝! – Exziled

0

你有沒有考慮過使用localstorage

if (sessionStorage.clickcount) { 
    sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1; 
} else { 
    sessionStorage.clickcount = 1; 
}