javascript浏览器窗口之间传递数据的方法


Posted in Javascript onJanuary 20, 2015

本文实例讲述了javascript浏览器窗口之间传递数据的方法。分享给大家供大家参考。具体分析如下:

摘要:

在项目开发中我们经常会遇到弹窗,有的是通过div模拟弹窗效果,有的是通过iframe,也有通过window自带的open函数打开一个新的窗口。今天给大家分享的是最后一种通过window.open()函数打开页面进行数据交互。首先看下效果图:

javascript浏览器窗口之间传递数据的方法

原理:

父窗口给子窗口传递数据是通过url的参数传递过去,子窗口给父窗口传递数据是通过父窗口的全局函数传递。

代码:
index.html如下:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

    <div id="content"></div>

    <button id="test">按钮</button>

    <script>

        var test = document.getElementById('test');

        test.onclick = function() {

            window.open('./window.html?param1=name¶m2=password', '_blank','width=960,height=650,menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes');

        };

        window.getContent = function(tx) {

            document.getElementById('content').innerText = tx;

        }

    </script>

</body>

</html>

window.html如下:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

    <div id="content"></div>

    <select name="" id="city">

        <option value="shanghai">上海</option>

        <option value="hangzhou">杭州</option>

    </select>

    <script>

        var params = location.href.substring(location.href.lastIndexOf('?')+1).split('&');

        document.getElementById('content').innerText = params;

        var city = document.getElementById('city');

        city.onchange = function() {

            window.opener.getContent(city.value);

        }

    </script>

</body>

</html>

注意:这里需要有服务环境运行

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
jquery入门—访问DOM对象方法
Jan 07 Javascript
jquery插件开发注意事项小结
Jun 04 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
Nov 08 Javascript
javascript日期对象格式化为字符串的实现方法
Jan 14 Javascript
JavaScript函数模式详解
Nov 07 Javascript
基于JS模仿windows文件按名称排序效果
Jun 29 Javascript
jquery easyUI中ajax异步校验用户名
Aug 19 Javascript
JavaScript中定义对象原型的两种使用方法
Dec 15 Javascript
jQuery正则验证注册页面经典实例
Jun 10 jQuery
Angular排序实例详解
Jun 28 Javascript
微信小程序手机号码验证功能的实例代码
Aug 28 Javascript
vue项目打包之开发环境和部署环境的实现
Apr 23 Javascript
用队列模拟jquery的动画算法实例
Jan 20 #Javascript
jQuery 处理页面的事件详解
Jan 20 #Javascript
DOM 事件流详解
Jan 20 #Javascript
jQuery链使用指南
Jan 20 #Javascript
使用jQuery管理选择结果
Jan 20 #Javascript
javascript动态修改Li节点值的方法
Jan 20 #Javascript
js+css实现tab菜单切换效果的方法
Jan 20 #Javascript
You might like
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
jQuery的三种$()
2009/12/30 Javascript
javascript 实用的文字链提示框效果
2010/06/30 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
JavaScript随机生成颜色的方法
2016/10/15 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
uni-app 组件里面获取元素宽高的实现
2019/12/27 Javascript
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
Django 源码WSGI剖析过程详解
2019/08/05 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
关于Pytorch的MLP模块实现方式
2020/01/07 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
python中for in的用法详解
2020/04/17 Python
Python collections模块的使用方法
2020/10/09 Python
python图片合成的示例
2020/11/09 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
Html5自定义字体解决方法
2019/10/09 HTML / CSS
大四本科生的自我评价
2013/12/30 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
机电一体化求职信
2014/03/10 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
企业文化学习心得体会
2016/01/21 职场文书
个人落户申请书怎么写?
2019/06/28 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python