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 相关文章推荐
javascript英文日期(有时间)选择器
May 02 Javascript
js中eval详解
Mar 30 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
Apr 10 Javascript
javascript实现禁止复制网页内容汇总
Dec 30 Javascript
引用jquery框架后出错的解决方法
Aug 09 Javascript
基于javascript实现最简单选项卡切换
Feb 01 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
Mar 16 Javascript
利用Three.js如何实现阴影效果实例代码
Sep 26 Javascript
Javascript实现时间倒计时功能
Nov 17 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
Sep 17 Javascript
浅谈Vue中render中的h箭头函数
Nov 07 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
Jul 19 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
Php+SqlServer实现分页显示
2006/10/09 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
windows8.1下Apache+Php+MySQL配置步骤
2015/10/30 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
2015/12/31 PHP
php操作路径的经典方法(必看篇)
2016/10/04 PHP
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
juqery 学习之五 文档处理 包裹、替换、删除、复制
2011/02/11 Javascript
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
浅谈Javascript事件模拟
2012/06/27 Javascript
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
Node.js插件的正确编写方式
2014/08/03 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
jquery精度计算代码 jquery指定精确小数位
2017/02/06 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
Python生成数字图片代码分享
2017/10/31 Python
基于树莓派的语音对话机器人
2019/06/17 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
通过实例学习Python Excel操作
2020/01/06 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
html5跳转小程序wx-open-launch-weapp踩坑
2020/12/02 HTML / CSS
事业单位竞聘上岗实施方案
2014/03/28 职场文书
运动会拉拉队口号
2014/06/09 职场文书
刑事代理授权委托书
2014/09/17 职场文书