位置: IT常识 - 正文

iframe嵌套页面传值(iframe嵌套页面点击里面的按钮)

编辑:rootadmin
iframe嵌套页面传值

推荐整理分享iframe嵌套页面传值(iframe嵌套页面点击里面的按钮),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:iframe嵌套iframe 失效,iframe嵌套iframe 失效,iframe嵌套页面js运行不了,iframe嵌套页面传递参数,iframe嵌套页面跨域消息传递,iframe嵌套页面显示不完整,iframe嵌套页面传递参数,iframe嵌套页面传递参数,内容如对您有帮助,希望把文章链接给更多的朋友!

前言:

        最近负责的项目大部分都是在别人的网站中通过iframe标签嵌套我方页面,而且项目没有使用近年来流行的框架,所以在本文中的代码只是基于js进行编写。

一、父向子传值

        方法一:通过src拼接上需要传递的参数

        父页面

<body> <div>父级页面</div> <iframe src="2.html" id="frame1" frameborder="0"></iframe> <script> // 方法一:通过src向子元素传递参数 let url = document.getElementById('frame1').src + '?name=LeeYuFan&sex=女' //拼接上需要传递的参数 document.getElementById('frame1').src = url </script></body>

        子页面

<body> <div>子页面--2.html页面</div> <script> window.onload = function(){ let name = getUrlParam('name') let sex = decodeURIComponent(getUrlParam('sex')) //解码 console.log(name,sex) } function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); // 构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); // 匹配目标参数 if (r != null) return r[2]; return null; // 返回参数值 } </script></body>

        方法二:通过window对象的postMessage()方法

数据发送方(父页面)

<body> <div>父级页面</div> <iframe src="2.html" id="frame1" frameborder="0"></iframe> <script> window.onload = function(){ // 方法二:通过postMessage()方法 let send = document.getElementById('frame1').contentWindow; send.postMessage("被传递的数据",'*') } </script></body>

数据接收方(子页面)

<body> <div>子页面--2.html页面</div> <script> window.onload = function(){ window.addEventListener('message',function(e){ console.log(e.data) }) } </script></body>iframe嵌套页面传值(iframe嵌套页面点击里面的按钮)

注:

1、postMessage(参数1,参数2,[参数3])方法有三个参数,参数1代表将要发送的数据;参数2代表指定哪些窗口能结合搜到消息事件,其值可以是*或一个URL,(‘*’代表无限制);参数3可选,是一串和 message 同时传递的 Transferable 对象。这些对象的所有权将被转移给消息的接收方,而发送一方将不再保有所有权。

2、接收方的回调函数中包含三个常用的数据:

        e.source --消息源,消息发送的窗口/iframe

        e.origin -- 消息源的URI,用来验证数据源

        e.data -- 发送过来的数据

二、子向父传值

方法一:子页面把要传递给父元素的参数定义为全局变量,然后父页面直接获取

子页面定义变量

<body> <script> var name = 'LeeYuFan' </script></body>

父页面读取变量

<body> <div>父级页面</div> <iframe src="3.html" id="frame2" frameborder="0"></iframe> <script> window.onload = function(){ console.log(document.getElementById('frame2').contentWindow.name) } </script></body>

方法二:使用postMessage()方法

子页面

<body> <div>子页面--2.html页面</div> <script> window.parent.postMessage('123','*') </script></body>

父页面

<body> <div>父级页面</div> <iframe src="2.html" id="frame1" frameborder="0"></iframe> <script> window.onload = function(){ window.addEventListener('message',function(e){ console.log(e.data) }) } </script></body>
本文链接地址:https://www.jiuchutong.com/zhishi/298697.html 转载请保留说明!

上一篇:移动端适配详解 , 给你解决适配烦恼(移动端适配 px)

下一篇:Node.js安装,npm安装yarn步骤(Node.js安装过程)

  • 个人所得税账务处理分录
  • 增值税报表申报流程
  • 记账王怎么查询凭证
  • 与企业日常无关的政府补服属于利得吗
  • 退税发票误勾选怎么撤销
  • 房产税和城市房地产税
  • 给客户提供的价值
  • 私房装修费能在公司报销吗
  • 房地产增值税发票有什么用
  • 跨年的发票能红字冲销吗?
  • 工程所在地预缴税款可以退回吗
  • 应征增值税销售额和应税销售额
  • 中注协官宣
  • 建筑发票怎么抵税
  • 小规模纳税人残疾人纳税优惠
  • 购买办公桌椅属于什么费用
  • 员工培训费应该怎么算
  • 劳务人员奖金如何纳税
  • 增值税普通发票有什么用
  • 收到出口退税计入什么
  • 城建税是增值税的附加税吗
  • 商誉减值可以避税吗
  • 旅行社开的发票怎么入账
  • win10开机强制进入
  • app制作公司开发一个app的价格
  • 委托代销委托方的账务处理
  • 总分类账和明细账
  • 公司二手车转个人
  • 纳税申报方式的税务申报工作常规流程图
  • 应收账款清查采用实地盘点法
  • 前端这点事
  • 增值税普通发票需要交税吗
  • 捐款怎么处理
  • 专家坐诊信息
  • ldconfig命令怎么用
  • 对公账户走账是怎么回事
  • 企业所得税月月交吗
  • 高新技术企业研发费用加计扣除
  • 商贸公司库存商品有哪些
  • 办理车辆购置税流程
  • 前置测试模型
  • 监控200万和400万的区别
  • 什么叫财务台账
  • 注册资本认缴出资日期是什么意思
  • 公司承担员工的个税怎么做账
  • 低值易耗品可以报废吗
  • 单位收到社保补贴会计怎样处理
  • 小规模纳税人购进税控收款机
  • 盈余公积的用途主要是
  • 去年的福利费没有用完,今年可以用吗
  • 政府返税计入什么科目
  • 建账时都要建哪些科目
  • 重大影响包括50%吗
  • 投资款没有进入公司账户算投资款吗
  • 营业收入是利润总额吗
  • 反记账是什么
  • mysql文件存储路径设置
  • win7使用率
  • 商用计算机英文
  • 从根上保证电脑安全、不中毒的方法
  • 为什么要淘汰相关性高的指标
  • wcesmgr.exe - wcesmgr 是什么进程
  • 硬盘分区win7怎么扩充c盘
  • windows7禁用wifi怎么办
  • win7 用户组
  • window10软件搜索
  • javascript语言入门教程
  • 不错的意思
  • unity3d,C#使用sqlite作为数据库解决方案思路
  • 参数传递的方式有几种?有什么区别?
  • python 中 range
  • unity3d怎么控制人物移动
  • javascriptcsdn
  • js如何使用
  • 《javascript高级程序设计》
  • 江苏发票真伪查询网站
  • 湖南城乡居民医疗保险咨询电话
  • 电子发票开具之前有销售方字样,为什么开具出来就不显示了?
  • 公司完税证明去哪里打
  • 福斯特会计软件下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设