如何实现浏览器内多个标签页之间的通信?

调用 localstorge、cookies 等本地存储方式

方法一:使用localStorage

使用localStorage.setItem(key,value)添加内容

使用storage事件监听添加、修改、删除的动作   

 window.addEventListener("storage",function(event){  
          console.log(event.key+"="+event.newValue);  
  }); 

注意:

1,storage事件只有在两个同源的网页之间改变动作触发,在同一个网页改变无法触发。

2,sessionStorage 和 localStorage具有相同的方法storage事件,在存储事件的处理函数中是不能取消这个存储动作的。存储事件只是浏览器在数据变化发生之后给 你的一个通知。当setItem(),removeItem()或者clear() 方法被调用,并且数据真的发生了改变时,storage事件就会被触发。注意这里的的条件是数据真的发生了变化。也就是说,如果当前的存储区域是空的,你 再去调用clear()是不会触发事件的。或者你通过setItem()来设置一个与现有值相同的值,事件也是不会触发的。

方法二,使用cookie+setInterval

1,第一个网页设置cookie
2,第二个网页通过setInterval轮训获取cookie值

cookie使用教程

 

posted @ 2017-02-22 15:31  minimal虾米  阅读(226)  评论(0编辑  收藏  举报