您的位置:首页 > Web前端 > JavaScript

JS实现两个页面之间的通信

2017-12-14 20:25 399 查看
两个不同页面之间的通信,通过一个拖拽demo来模拟;

首先,写好基础的拖拽代码:

[html] view
plain copy

<script>  

   window.onload = function() {  

       var oDiv = document.getElementById('div');  

       oDiv.onmousedown = function(ev) {  

           var ev = window.event || ev;  

           var disX = ev.clientX - oDiv.offsetLeft;  

           var disY = ev.clientY - oDiv.offsetTop;  

           document.onmousemove = function(ev) {  

              var factX = ev.clientX - disX;  

              var factY = ev.clientY - disY;  

              oDiv.style.left = factX + 'px';  

              oDiv.style.top = factY + 'px';  

              localStorage.json = JSON.stringify({left:oDiv.offsetLeft,top:oDiv.offsetTop});  

          }  

           document.onmouseup = function() {  

                document.onmousemove = null;  

           }  

       }  

   }  

</script>  

这是将div拖动变化的值存入到本地储存localstorage,用JSON.stringify将其转为字符串形式:



 

然后新建一个新建一个demo,获取本地的数据:

[html] view
plain copy

<script>  

    window.onload = function() {  

       var oDiv = document.getElementById('div');  

     window.onstorage = function(ev){  

          var json = JSON.parse(localStorage[ev.key]);  

                       

         oDiv.style.left = json.left + "px";  

          oDiv.style.top = json.top + "px";  

      }  

   }  

</script>  

   通过onstorage这个方法实现两个页面之间的通信,获取到本地储存的数据,转成数字实现两个页面的同步。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: