1. 程式人生 > >兩個頁面之間的通信

兩個頁面之間的通信

null down 新建 fun () odi 同步 etl div拖動

今天要給大家說的是兩個不同頁面之間的通信,通過一個拖拽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將其轉為字符串形式:

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

然後新建一個demo,獲取本地的數據:

<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這個方法實現兩個頁面之間的通信,獲取到本地存儲的數據,轉成數字實現兩個頁面的同步

兩個頁面之間的通信