位置: 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安装过程)

  • 年度汇算退税是什么意思
  • 价外税和价内税的理解
  • 税收负担影响企业的利润吗
  • 计提工资是计提哪个月的
  • 个税手续费返还比例
  • 贸易公司的成本有哪些
  • 个体户逾期申报罚款多少
  • 弥补以前年度亏损从哪里取数
  • 管理费用月末结转总账登记图
  • 营改增对小规模的影响
  • 固定资产当月入账下月计提折旧
  • 失业稳岗补贴要交所得税吗
  • 预收账款核销的流程
  • 银行本票超过付款期限可以向出票人追索吗
  • 没有发票合法吗
  • 当月认证的发票可以当月抵扣吗
  • 专用发票丢失如何报销
  • 建筑业增值税税率由11调整到10
  • 公司账户流水要交税吗
  • 利润弥补以前年度亏损是税前吗
  • 残保金属于职工薪酬吗
  • 直接融资租赁模式
  • 出口企业收到的货款是人民币还是美元
  • 自然人股息红利免征个人所得税?
  • 增值税小规模纳税人减免增值税政策
  • 存货抵偿债务账务处理
  • 背书人账户名称填什么
  • 纳税人办理退税手续流程
  • 营改增之前的建筑业税率是多少
  • 公司出售已经提完折旧的机器
  • 系统自带功能
  • 包装物押金收入计入收入总额吗
  • 企业职工福利费的扣除标准是多少?
  • 转让无形资产使用权和所有权的区别
  • 酒店如何核算成本
  • PHP:mcrypt_generic_end()的用法_Mcrypt函数
  • flex布局使用
  • win10iis安装配置
  • 单位管理费用核算范围包括
  • vue带参数跳转到详情页面
  • 微信小程序封掉了怎么办
  • python极客项目编程 豆瓣
  • 企业捐赠的资产如何入账
  • 模具费收入计入什么科目
  • 上月未结账本月是否能记账
  • 合并资产负债表图片
  • 如何在sql server中已有数据库进行修改
  • 完全删除sql server2012
  • 中小企业财务核算的重要性
  • 一般纳税人报税流程详细操作
  • 个体定期定额怎么征税
  • 法院退诉讼费账务处理
  • 持有至到期投资是债权投资吗
  • 计提了坏账准备就要计算递延所得税资产
  • 公司软件使用制度
  • 专票先不认证如何申报增值税
  • 税控盘的主要功能
  • 商贸企业固定资产可以一次性扣除吗?
  • 成本会计工作主要内容
  • CentOS6.7 mysql5.6.33修改数据文件位置的方法
  • win8.1重置电脑
  • xp系统设置锁屏
  • 卸载微信后重新登录微信怎么恢复之前的数据
  • win8.1怎么升级成win7
  • xp输入法图标不显示图片
  • 升级win10时蓝屏
  • 苹果电脑怎么关掉已经打开的页面
  • rtmanager.exe - rtmanager是什么进程 有什么用
  • 上帝模式使用教程
  • win7开机无法连接所有网络驱动器
  • win10的蓝屏界面
  • cocos2djs
  • opengl 4.X off-screen rendering
  • js基于对象的特点是什么
  • cocos2d-x教程
  • IE hack条件写法
  • unity获取物体位置代码
  • python读取一个文件并写入另一个文件
  • Android网络通讯哪个最简单
  • 一般纳税人提供公共交通运输服务免征增值税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设