0

我创建了这个脚本,但是缓存清理警告出现在未定义的调试控制台中。我该如何解决?

我在这里上传了代码https://codepen.io/stiac/pen/ExPjgwe

   class NotificationBanner {

  constructor(el) {		
    this.storageKey = 'notifications'
    this.el = el		
    this.id = this.el.dataset.id		
    this.el.querySelector(".closebutton").onclick = () => this.close()		
    this.showUnlessDismissed()
  }
  show() {
    this.el.hidden = false
  }
  close() {
    this.el.remove()
    this.updateLocalStorage()
  }
  showUnlessDismissed() {
    if(this.getLocalStorage().includes(this.id)) {
      this.close()
    }
    else {
      this.show()
    }
  }
  updateLocalStorage() {
    const dismissedNotifications = this.getLocalStorage()
    if(!dismissedNotifications.includes(this.id)) {
      dismissedNotifications.push(this.id)
      localStorage.setItem(this.storageKey, JSON.stringify(dismissedNotifications))
    }
  }
  getLocalStorage() {
    return JSON.parse(localStorage.getItem(this.storageKey)) || []
  }
}

class NotificationBanners {
  constructor() {
    const notifications = [...document.querySelectorAll(".notification-banner")];

    notifications.forEach(function(notification) {
      return new NotificationBanner(notification);
    })
  }
}

new NotificationBanners()



clearcache.onclick = e => localStorage.setItem('notifications', JSON.stringify([])) 

这是一个隐藏消息的脚本。我希望我能设定一个截止日期,让它在几天后出现。

4

0 回答 0