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 相关文章推荐
js去字符串前后空格5种实现方法及比较
Apr 03 Javascript
jquery 构造函数在表单提交过程中修改数据
May 25 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
Sep 01 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
Dec 28 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
JS闭包用法实例分析
Mar 27 Javascript
使用selenium抓取淘宝的商品信息实例
Feb 06 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
Oct 19 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
May 26 Javascript
vue实现点击追加选中样式效果
Nov 01 Javascript
uni-app 组件里面获取元素宽高的实现
Dec 27 Javascript
Vue 修改网站图标的方法
Dec 31 Vue.js
用队列模拟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
用PHP读注册表
2006/10/09 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
js取消单选按钮选中示例代码
2013/11/14 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
js 左右悬浮对联广告代码示例
2014/12/12 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
2016/01/15 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
AngularJS中$watch和$timeout的使用示例
2016/09/20 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
2019/09/27 Javascript
vue实现鼠标经过动画
2019/10/16 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
Python类方法__init__和__del__构造、析构过程分析
2015/03/06 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
Python编程求质数实例代码
2018/01/31 Python
Python函数中不定长参数的写法
2019/02/13 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
司机的工作范围及职责
2013/11/13 职场文书
创业计划书中包含的9个方面
2013/12/26 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书