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

Posted 小安快跑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现浏览器内多个标签页之间的通信?相关的知识,希望对你有一定的参考价值。

方法一:使用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);  

以上是关于如何实现浏览器内多个标签页之间的通信?的主要内容,如果未能解决你的问题,请参考以下文章

浅谈两种方法实现浏览器内多个标签页之间的通信

(转)如何实现同一浏览器多个标签页之间的通信——cookie+setInterval

利用cookie实现浏览器中多个标签页之间的通信

前端知识杂烩(综合篇)

实现多个页面之间进行通信

前端面试总结二