[問題] 如何將javascript的值存起來 之後再取出消失

看板Web_Design作者時間6年前 (2017/09/30 18:17), 6年前編輯推噓2(207)
留言9則, 5人參與, 最新討論串1/1
我在某個jsp檔(a.jsp)的javascript區塊內宣告一變數 叫ret 然後我呼叫ShowModalDialog() 並拿這個變數儲存ShowModalDialog()回傳的值: ret = window.showModalDialog(sURL [, vArguments] [, sFeatures]) 接著我把變數內的資料呈顯在a.jsp上 然後我離開a.jsp 到下一個jsp檔(b.jsp) 等到我要返回上一頁 就是a.jsp時 我需要這個ret 替我呈顯離開這頁面時 頁面的資料 請問可以怎麼做 才能將ret存起來 等到我回到a.jsp時 可以直接取用 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.148.217 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1506766675.A.287.html

09/30 20:08, , 1F
localStorage
09/30 20:08, 1F

10/01 01:39, , 2F
視情況也可用 sessionStorage
10/01 01:39, 2F

10/01 01:58, , 3F
通常要持續保存的用 localStorage,臨時暫存用 session
10/01 01:58, 3F

10/01 08:47, , 4F
SessionStorage 應該不行吧,頁面關了就不見了
10/01 08:47, 4F
我用localStorage儲存ret 所以localStorage.ret就有值 然後到下一個jsp檔(b.jsp) 結果localStorage.ret變成undefined 但localStorage還是存在著 不知道為甚麼ret會變成undefined 不是把瀏覽器關掉 localStorage的值才會消失? ※ 編輯: lueichun (59.120.148.217), 10/02/2017 14:05:29

10/02 14:10, , 5F
localStorage關掉瀏覽器也不會消失,sessionStorage才會
10/02 14:10, 5F
嗯嗯 那為什麼會出現localStorage的屬性值 undefined的狀況呢 ※ 編輯: lueichun (59.120.148.217), 10/02/2017 14:12:00

10/02 14:17, , 6F
localStorage是看origin(通常是scheme + host + port)
10/02 14:17, 6F

10/02 14:18, , 7F
相同origin才能存取到同樣的storage
10/02 14:18, 7F
那我返回到原來的jsp檔(a.jsp) localStorage.ret仍然是undefined 表示是不同的localStorage 可以這樣解釋嗎 但是用到的scheme都是HTTP 主機都是LOCALHOST port也都是8080 ※ 編輯: lueichun (59.120.148.217), 10/02/2017 14:26:08

10/02 14:42, , 8F
如果網頁的origin(location.origin)都相同,問題應該在你的
10/02 14:42, 8F

10/02 14:43, , 9F
環境吧,瀏覽器、版本、設定? 我試是沒問題
10/02 14:43, 9F
最後是參考這個 做出來了 http://bit.ly/2xahIdv 關鍵在下面: localStorage.setItem('testObject', JSON.stringify(testObject)); // Retrieve the object from storage var retrievedObject = localStorage.getItem('testObject'); console.log('retrievedObject: ', JSON.parse(retrievedObject)); ※ 編輯: lueichun (1.169.113.247), 10/02/2017 19:59:24
文章代碼(AID): #1PpszJA7 (Web_Design)