应用场景:将登录接口所返回的用户信息存入sessionStorage,在其他地方需要使用到用户信息,但不知道什么时候接口请求完,此时可以监听sessionStorage中值的变化。

应用:Event自定义事件 window.dispatchEvent();事件分发

var orignalSetItem = sessionStorage.setItem;
sessionStorage.setItem = function(key, newValue) {
var setItemEvent = new Event("setItemEvent");
setItemEvent.newValue = newValue;
window.dispatchEvent(setItemEvent);
orignalSetItem.apply(this, arguments);
};
// 获取sessionStorage中需要监听的值loginInfor
var info = sessionStorage.getItem("loginInfor");
if (info) { // 符合条件
console.log(info);
} else {
// 否则继续监听
window.addEventListener("setItemEvent", function(e) {
if ((e.key = "loginInfor")) {
var _this = sessionStorage.getItem("loginInfor");
if (_this != e.newValue) {
if (e.newValue) {
console.log(e.newValue);
console.log(_this);
}
}
}
});
}

监听sessionStorage中值的变化的更多相关文章

  1. js实时监听input中值的变化

    $(function(){ $('#inputid').bind('input propertychange', function() { // input 中的值 var params = $(th ...

  2. js 实时监听input中值变化

    注意:用到了jquery需要引入jquery.min.js. 需求: 1.每个地方需要分别打分,总分为100; 2.第一个打分总分为40; 3.第二个打分总分为60. 注意:需要判断null.&quo ...

  3. vue中父组件如何监听子组件值的变化

    vue中我们会遇到很多父子组件通信的需求, 下面简单列一下,父子组件通信的几种情况 1:父组件向子组件传值:使用prop向子组件传值: 2:子组件实时监听父组件传来的值的变化:使用watch去监听父组 ...

  4. 怎样监听xhr.readyState值的变化

    可以使用 xhr.onreadystatechange 属性指向的函数去监听 xhr.readyState 值的变化. 示例如下: var xhr = new XMLHttpRequest(); xh ...

  5. iOS: 使用KVO监听控制器中数组的变化

    一.介绍: KVO是一种能动态监听到属性值的改变的方式,使用场景非常广泛,这里我只讲如何监听控制器ViewController中数组的变化. 二.了解: 首先我们应该知道KVO是不能直接监听控制器Vi ...

  6. 黎活明8天快速掌握android视频教程--21_监听ContentProvider中数据的变化

    采用ContentProvider除了可以让其他应用访问当前的app的数据之外,还有可以实现当app的数据发送变化的时候,通知注册了数据变化通知的调用者 其他所有的代码都和第20讲的一样,不同的地方看 ...

  7. 监听localStorage中的数据变化

    问题描述:我们在js里面获取了某一个localstorage的值,但是后期它可能改变了,我们js只执行一遍没办法再次获取它的值,当然可以刷新页面获取,但如果是我们的但页面就不能刷新页面了,此时:我们可 ...

  8. js监听文本框值变化事件,就oninput & onpropertychange & onkeyup & onchange的区别

    在Web前端项目中实时监听文本框的值变化是非常常见的功能,通常最简单最容易想到的是onkeyup和onchange事件,但是在使用onkeyup来监听键盘事件的时候,监听不到鼠标右键的粘贴.复制的操作 ...

  9. js监听input输入框值的实时变化实例

    情景:监听input输入框值的实时变化实例 解决方法:1.在元素上同时绑定oninput和onporpertychanger事件 实例:<script type="text/JavaS ...

  10. jQuery实时监听input的值变化(input的值产生变化才会触发事件)

    //用于监听input的值变化(input的值产生变化才会触发事件) (function ($) { $.fn.watch = function (callback) { return this.ea ...

随机推荐

  1. WebStorm 和 Rider 现在对非商业用途免费

    JetBrains 在程序员节这一天在官方博客上发布了一篇文章:<WebStorm 和 Rider 现在对非商业用途免费>宣布了JetBrains将WebStorm和Rider IDE对非 ...

  2. EXCEL获取拼音首字母

    Excel 2016 按组合键ALT+F11调出VB窗口--插入--模块(复制代码到新模块中,复制完后始可关闭VB窗口) 复制以下代码到模块中 Function getpychar(char) tmp ...

  3. LeetCode题目练习记录 _数组和链表03 _20211011

    LeetCode题目练习记录 _数组和链表03 _20211011 206. 反转链表 难度简单2015收藏分享切换为英文接收动态反馈 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表 ...

  4. .NET 8 高性能跨平台图像处理库 ImageSharp

    前言 传统的 System.Drawing 库功能丰富,但存在平台限制,不适用于跨平台开发..NET 8 的发布,ImageSharp 成为了一个更好的选择. ImageSharp 是一个完全开源.高 ...

  5. docker login 私有仓库时报错

    连接私有harbor报错如下: docker login 192.168.1.88 -uadmin -pHarbor12345 WARNING! Using --password via the CL ...

  6. ABP使用基于JWT标准的的Token访问API

    这里就不详细介绍JWT了,JWT的详细介绍可以查看简书的这篇文章,写得非常详细:http://www.jianshu.com/p/576dbf44b2ae 1.申请Token ABP内部已经为我们实现 ...

  7. Vim基本使用指南

    一般模式:移动光标的方法 h或 向左方向键(←)光标向左移动一个字符 j或 向下方向键(↓)光标向下移动一个字符 k或 向上方向键(↑)光标向上移动一个字符 l或 向右方向键(→)光标向右移动一个字符 ...

  8. 缓存之ehcache 之使用

    1. EHCache 的特点,是一个纯Java ,过程中(也可以理解成插入式)缓存实现,单独安装Ehcache ,需把ehcache-X.X.jar 和相关类库方到classpath中.如项目已安装了 ...

  9. k8s之常见问题汇总

    1.服务器中的k8s已经被移除,但是磁盘依然有占用, 于是将其卸载并删除操作 [root@k8s-node2 k8s_node]# rm -rf /var/lib/kubelet rm: cannot ...

  10. PHP模块之ssh2

    php远程copy文件以及在远程服务器中执行命令时,所用到的模块是ssh2,以后所有的操作都依据ssh2连接句柄完成. libssh: https://www.libssh2.org/ ssh2: h ...