当前位置: 首页 > news >正文

postmessage()在同一域名下,传递消息给另一个页面

这里是同域名下,getmessage.html(发送信息)传递消息给index.html(收到信息,并回传收到信息)
index.html页面

<!DOCTYPE html>
<html><head><meta http-equiv="content-type" content="text/html charset=utf-8"/><title>javascript变量声明的一些测试</title><link rel="stylesheet" href="styles.css"/></head><body><div id="firstdiv" style="width:900px;text-align: center;border:10px solid blue"><form id="form1" action="" method="post">  <input type="button" name="submit1" value="提交"/></form> <p id="msg"></p></div>    </body><script type="text/javascript" src="test.js"></script></html>

这里 是index.html页面中的test.js代码

const btn=document.getElementsByName('submit1');btn[0].addEventListener('click',()=>{let popup=window.open('getmessage.html');window.addEventListener('message',function(e){console.log(e);if(e.origin!='http://xuejs.xyz')return;//这里收到发来的信息,并显示document.getElementById('msg').innerHTML=e.data;e.source.postMessage('收到信息',e.origin);})
});

//这里是getmessage.html页面

<!DOCTYPE html>
<html><head><meta http-equiv="content-type" content="text/html charset=utf-8"/><title>接收postmessage传来的信息</title><script type="text/javascript" src="eventutil.js"></script></style></head><body><p id="getmsg">waiting for message...</p></body><script type="text/javascript">//window.opener表示打开getmessage.html页面的父页面
//这里用postMessage()传递了一条消息给index.htmlwindow.opener.postMessage('super window 接收到一条消息','/');//下面是接收index.html收到页面后的回传信息window.addEventListener('message',(e)=>{console.log(e);if(e.origin!='http://xuejs.xyz')return;console.log(e.data);});</script></html>
http://www.lryc.cn/news/395264.html

相关文章:

  • 初始redis:在Ubuntu上安装redis
  • 生物素结合金纳米粒子(Bt@Au-NPs ) biotin-conjugated Au-NPs
  • LeetCode热题100刷题9:25. K 个一组翻转链表、101. 对称二叉树、543. 二叉树的直径、102. 二叉树的层序遍历
  • PyJWT,一个基于JSON的轻量级安全通信方式的python库
  • Golang | Leetcode Golang题解之第223题矩形面积
  • 新手怎么使用GitLab?
  • 表情包原理
  • 技术难点思考SpringBoot如何集成Jmeter开发
  • 如何快速使用C语言操作sqlite3
  • 网络模型介绍
  • Codeforces Round #956 (Div. 2) and ByteRace 2024
  • 域名、网页、HTTP概述
  • Redisson分布式锁、可重入锁
  • 适合宠物饮水机的光电传感器有哪些
  • 『Python学习笔记』Python运行设置PYTHONPATH环境变量!
  • 2024年06月CCF-GESP编程能力等级认证Python编程三级真题解析
  • 代码随想录算法训练营:20/60
  • Apache Seata应用侧启动过程剖析——RM TM如何与TC建立连接
  • Origin 的使用
  • MySQL相关知识点
  • 第4章 Vite模块化与插件系统(二)
  • 前端传到后端的data数组中有些属性值为空
  • 怎么批量下载网页里的图片和视频 如何批量下载一个网站的所有图片 如何批量下载网页视频文件 idm软件怎么下载
  • Python面试题:在 Python 中,如何处理文件操作?
  • 红日靶机1
  • Windows电脑PC使用adb有线跟无线安装apk包
  • 如何把harmonos项目修改为openharmony项目
  • 【QT】Qt智能指针QPointer、QSharedPointer、QWeakPointer、QScopedPointer
  • 设计模式探索:建造者模式
  • [Go] 字符串遍历数据类型问题