iT邦幫忙

0

請教前端前輩們一個javascript的問題

hihi 2022-09-08 10:39:211247 瀏覽
  • 分享至 

  • xImage

前輩們好

我想寫一個 每天定時執行的function

以下是我的code 目前測試是可行的 (前提是網頁要一直開著)

https://codepen.io/benhung1/pen/poVgbZp

現在遇到的問題是

如果晚上24點 我的網頁沒有開著

這個function執行了 但也沒有辦法清除我存在localStorage內的資料

那麼我該怎麼修改我的程式碼 才能讓它完成我的需求呢 十分感謝前輩們幫忙!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

4
小哈片刻
iT邦研究生 5 級 ‧ 2022-09-08 10:43:29
最佳解答

你存資料時,應該可以一併存一個資料應該要過期的時間。
這樣你就不需要每天定時去執行刪除的工作,而是在讀取資料時,檢查一下這資料過期沒,再決定要不要用。

看更多先前的回應...收起先前的回應...
hihi iT邦新手 5 級 ‧ 2022-09-08 11:03:22 檢舉

謝謝大大回應,這方法我知道,我一開始也是用這方式寫
參考網頁:https://www.796t.com/article.php?id=441973
但 這些資料並不是過期就不要了,只是需要先移除 然後重整頁面再存入新的資料,所以我才換了一種寫法

我只想說~~~「移除」不就等於「不要」嘛??
還是我的理解有誤??

至於在存入新資料。那是另外一回事了。

froce iT邦大師 1 級 ‧ 2022-09-08 15:35:40 檢舉

只是需要先移除 然後重整頁面再存入新的資料

那不就一樣後端比對,更新或是覆蓋過去就好,幹嘛要去刪?

小哈片刻 iT邦研究生 5 級 ‧ 2022-09-08 18:06:01 檢舉

一樣可以用過期的作法。
在你讀取資料時,如果檢查到資料過期,那就重新ajax去撈新的資料。
然後把新的資料和新的過期時間覆蓋掉舊的就好了。

小哈片刻 iT邦研究生 5 級 ‧ 2022-09-08 18:08:35 檢舉

如果你真的想要重整再寫新資料也是可以。
就是你去讀取資料時,發現資料過期,這個時候把資料刪除再重整網頁,然後再存入新資料+過期時間。
這樣是不是就是你想要的流程?

hihi iT邦新手 5 級 ‧ 2022-09-08 18:11:45 檢舉

是的,這是我要的沒錯,我現在codepen內的function也是比較偏向是,刪除目前儲存的資料然後重新整理網頁,就會更新新的資料上去

hihi iT邦新手 5 級 ‧ 2022-09-08 18:12:53 檢舉

那我大概知道要怎麼做了,謝謝三位大大指點哈哈,太執著要刪除再更新,但,時間到了直接覆蓋也是一樣的效果,十分感謝~

我要發表回答

立即登入回答