两个页面之间的通信

时间:2022-06-23 20:14:44

今天要给大家说的是两个不同页面之间的通信,通过一个拖拽demo来模拟;

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

<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,获取本地的数据:

 1 <script>
2 window.onload = function() {
3 var oDiv = document.getElementById('div');
4   window.onstorage = function(ev){
5 var json = JSON.parse(localStorage[ev.key]);
6
7   oDiv.style.left = json.left + "px";
8 oDiv.style.top = json.top + "px";
9 }
10 }
12 </script>

   通过onstorage这个方法实现两个页面之间的通信,获取到本地储存的数据,转成数字实现两个页面的同步。

 

一个简单的页面通信就可以实现了,希望能帮到大家!!!!!!!