今天要给大家说的是两个不同页面之间的通信,通过一个拖拽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这个方法实现两个页面之间的通信,获取到本地储存的数据,转成数字实现两个页面的同步。
一个简单的页面通信就可以实现了,希望能帮到大家!!!!!!!
时间: 2024-10-26 19:19:59