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

方法一:使用localStorage

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

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

html代码

JS代码-页面1

<script type="text/javascript"> 
      $(function(){   
          $("#btn").click(function(){   
              var name=$("#name").val();   
              localStorage.setItem("name", name);  
          });   
      });   
  </script> 

JS代码-页面2

<script type="text/javascript"> 
      $(function(){  
          window.addEventListener("storage", function(event){   
              alert(event.key + "=" + event.newValue);   
          });    
      }); 
  </script> 

 

方法二、使用cookie+setInterval

HTML代码

  1. <inputidinputid="name"><input type="button" id="btnOK"value="发送">  

JS代码-页面1   

 
  1. $(function(){  
  2.        $("#btnOK").click(function(){  
  3.            varname=$("#name").val();  
  4.            document.cookie="name="+name;  
  5.        });  
  6.    });  

JS代码-页面2

 
  1. //获取Cookie天的内容  
  2. function getKey(key) {  
  3.     return JSON.parse("{\""+ document.cookie.replace(/;\s+/gim,"\",\"").replace(/=/gim, "\":\"") +"\"}")[key];  
  4. }  
  5. //每隔1秒获取Cookie的内容  
  6. setInterval(function(){  
  7.     console.log(getKey("name"));  
  8.  },1000);  
posted @ 2018-03-23 12:55  安xiao曦  阅读(454)  评论(0编辑  收藏  举报