首页 > 前端 关于localStorage

前端 关于localStorage

function localStorageServcie () {
  'ngInject';

  let ctrl = this;

  /**
   * 获取 localStorage
   * @param key
   * @returns
   */
  ctrl.get = (key) => {
    return localStorage.hasOwnProperty(key) ? localStorage.getItem(key) : null;
  };

  /**
   * 写入 localStorage
   * @param key
   * @param value
   */
  ctrl.set = (key, value) => {
    localStorage.setItem(key, value);
  };

  /**
   * 删除对应条目
   * @param key
   */
  ctrl.delete = (key) => {
    delete localStorage[key];
  };

  /**
   * 设置监听;注意,此处只能对一个元素设置监听;
   * @param key - 写入的键名
   * @param elem - jquery element
   */
  ctrl.setWatch = (key, elem) => {
    console.log('');// 占个位子做测试
    $(window).bind('unload', () => {
      ctrl.set(key, elem.val());
      $(window).unbind();
    });
  };
}

export default angular
  .module('localStorage', [])
  .service('localStorage', localStorageServcie)
  .name;

遇到一个奇怪的问题,本地调试下ok,能够正常存入localStorage
传到了服务器之后,如果将 ctrl.setWatch 中第一行的 console.log('');删掉,就无法存入localStorage,留着就能存,不造是为什么呢,求解答!


$(window).on('beforeunload') 事件试试

【热门文章】
【热门文章】