浏览器窗口之间传递数据

简介: 浏览器窗口之间传递数据

摘要:


  

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


image.png


原理:


  

父窗口给子窗口传递数据是通过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&param2=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>


相关文章
|
21天前
|
JavaScript 前端开发 UED
JS:如何获取浏览器窗口尺寸?
JS:如何获取浏览器窗口尺寸?
76 1
|
21天前
|
Java 测试技术 定位技术
《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
【4月更文挑战第15天】本文介绍了如何使用Selenium进行浏览器窗口切换以操作不同页面元素。首先,获取浏览器窗口句柄有两种方法:获取所有窗口句柄的集合和获取当前窗口句柄。然后,通过`switchTo().window()`方法切换到目标窗口句柄。在项目实战部分,给出了一个示例,展示了在百度首页、新闻页面和地图页面之间切换并输入文字的操作。最后,文章还探讨了在某些情况下可能出现的问题,并提供了一个简单的本地HTML页面示例来演示窗口切换的正确操作。
64 0
|
21天前
|
Java 测试技术 Python
Selenium帮助你轻松实现浏览器多窗口操作
Selenium帮助你轻松实现浏览器多窗口操作
98 0
|
21天前
|
存储 安全 前端开发
浏览器跨窗口通信:原理与实践
浏览器跨窗口通信:原理与实践
79 0
|
10月前
selenium--浏览器窗口截图
selenium--浏览器窗口截图
|
10月前
|
数据采集 JavaScript 前端开发
利用无头浏览器进行APP提取数据的技术与实践
利用无头浏览器进行APP提取数据的技术与实践
|
21天前
|
存储 Web App开发 缓存
通俗科普:服务器端、用户浏览器端与数据存放
通俗科普:服务器端、用户浏览器端与数据存放
23 0
|
21天前
|
Web App开发 存储 前端开发
Chrome 浏览器的隐身窗口(incognito window)功能解析
Chrome 浏览器的隐身窗口(incognito window)功能解析
124 0
|
21天前
|
JavaScript
js实现跨浏览器tab选项卡页通信、传参,监听localStorage.变量的实时变化,实现打开多个浏览器页面窗口相互可以传参通信
js实现跨浏览器tab选项卡页通信、传参,监听localStorage.变量的实时变化,实现打开多个浏览器页面窗口相互可以传参通信
|
21天前
|
JavaScript 前端开发
js怎样获取浏览器窗口尺寸
js怎样获取浏览器窗口尺寸
34 1