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将其转为字符串形式:
![](http://images2017.cnblogs.com/blog/1179273/201707/1179273-20170726214144921-691698107.png)
然后新建一个新建一个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这个方法实现两个页面之间的通信,获取到本地储存的数据,转成数字实现两个页面的同步。
首先,写好基础的拖拽代码:
[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将其转为字符串形式:
![](http://images2017.cnblogs.com/blog/1179273/201707/1179273-20170726214144921-691698107.png)
然后新建一个新建一个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这个方法实现两个页面之间的通信,获取到本地储存的数据,转成数字实现两个页面的同步。
相关文章推荐
- 通过JS实现两个页面之间的通信
- js实现两个页面之间跳转参数传递
- 从跨域和同域两个角度实现多页面之间的通信
- js实现两个页面之间跳转参数传递
- 串行通信总结(实现两个单片机之间的通信)(很好的例子,跟风进步)
- 实现两个独立服务器之间的通信
- JS观察者设计模式:实现iframe之间快捷通信
- 两个页面之间通过js进行传值
- MQ实现两个应用系统之间的通信----理论知识(一)
- Android 使用AIDL实现了两个app之间的通信
- js实现html 页面之间的跳转传参以及返回上一页的相关知识点
- 两个页面之间js的相互调用
- 通过共享内存,利用循环队列实现两个进程A,B之间的通信
- 两个页面之间通过js进行传值
- 如何使用js来实现通过href完成多个html页面之间的传递参数
- Linux下的有名管道(06)---使用两个管道实现两个进程之间的通信(手机模式)
- js jquery 实现html页面之间参数传递(单一参数、对象参数传递)
- 从一个html页面传值到另一个页面,两个html之间的值传递(js location.search用法)
- 实现多个页面之间进行通信
- LINUX 实现两个进程之间的通信