html5父子页面数据传递,基于浏览器父子窗口值传递

本文详细介绍了如何使用HTML和JavaScript在浏览器中实现父子窗口间的通信,包括使用`postMessage`进行数据交换,以及在`win.html`和`posIndex.html`页面上的具体代码实现。适合学习前端交互和跨窗口通信技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、准备工作

1、需要准备好一个服务容器,例如tomcat之类的服务容器

2、本例子主要实现了一个父子窗口之间的值传递

二、程序实现

1、文件截图

bd239e04fb167df10674572da66739fa.png

2、运用该案例主要有以下步骤:打开tomcat的ROOT目录

把两个文件丢到ROOT目录

3、win.html的div部分代码如下:

The New Window

send

js部分代码如下:window.onload = function() {

var text = document.getElementById('txt');

var btn_send = document.getElementById('send');

var prent = null;

btn_send.onclick = function() {

// 通过 postMessage 向父窗口发送数据

freceiveMsg(prent);

}

//监听函数,接收一个参数--Event事件对象

function receiveMsg(e) {

console.log("Got a message!");

console.log("Message: " + e.data);

console.log("Origin: " + e.origin);

text.innerHTML = "Got a message!
" +

"Message: " + e.data +

"
Origin: " + e.origin;

//获取父对象

prent = e;

}

4、posIndex.html的div部分代码如下:open

send

js部分代码如下:window.onload = function() {

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

var btn_send = document.getElementById('send');

var text = document.getElementById('txt');

var win;

btn.onclick = function() {

//通过window.open打开接收消息目标窗口

win = window.open('http://127.0.0.1:8080/win.html', 'popUp');

}

btn_send.onclick = function() {

// 通过 postMessage 向子窗口发送数据

win.postMessage( document.getElementById("message").value, 'http://127.0.0.1:8080/');

}

三、运行效果

a641766714304a42184e378f8b743d9d.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值