變化值我的項目是由2個HTML頁面組成:全局變量沒有在Javascript
index.html
,其中包含了登錄和註冊表格。user_logged.html
,其中包含登錄用戶的所有功能。
現在,我想要做的是一個控件,如果用戶真的登錄了,以避免用戶在瀏覽器中粘貼一個url並可以看到另一個用戶的頁面。 小時,因爲現在,如果用戶這個URL粘貼在瀏覽器:
www.user_loggato.html?user=x#profile
是如果登錄用戶爲x和這是不是很好。
我的html頁面都使用包含腳本的js文件。 我決定創建一個名爲logged inizialized的全局變量爲false,並在登錄成功時將該變量更改爲true。
問題是變量仍然是錯誤的。
這裏是代碼:
var logged=false; (write in the file a.js)
而在文件b.js我:
function login() {
//if succesfull
logged=true;
window.location.href = "user_loggato.html?user="+ JSON.parse(str).username + #profilo";
一些提醒我發現我的變量記錄的永遠是假的
現在。爲什麼?
全球**不**意味着它將持續在幾個不同的頁面。一旦頁面重新加載,所有變量都將丟失,因爲HTML(和javascript)是無狀態的,除非您使用某種存儲(讀取:cookie或localStorage)。 – adeneo
您在瀏覽器中保存的內容對於用戶只需手動切換其登錄狀態是安全的。你需要在服務器上跟蹤這一點。 – jbabey