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

  • 华为荣耀30电池为多少毫安(华为荣耀30电池容量衰减怎么办)

    华为荣耀30电池为多少毫安(华为荣耀30电池容量衰减怎么办)

  • 微博如何注销(微博如何注销微博账号)

    微博如何注销(微博如何注销微博账号)

  • 快手有赞退款关闭了怎么在申请退款(快手有赞订单退款中收到货了怎么办)

    快手有赞退款关闭了怎么在申请退款(快手有赞订单退款中收到货了怎么办)

  • 怎么给抖音直播点赞(怎么给抖音直播间投流)

    怎么给抖音直播点赞(怎么给抖音直播间投流)

  • 被拉黑后发送验证请求成功(被拉黑后发送验证请求)

    被拉黑后发送验证请求成功(被拉黑后发送验证请求)

  • ppt幻灯片怎么绘制返回按钮(幻灯片绘制)

    ppt幻灯片怎么绘制返回按钮(幻灯片绘制)

  • r星平台只能安装在c盘吗(安装r星平台没反应)

    r星平台只能安装在c盘吗(安装r星平台没反应)

  • 离线和离线请留言有啥区别(离线和离线请留言的区别)

    离线和离线请留言有啥区别(离线和离线请留言的区别)

  • 华为手环步数一直0(华为手环步数一直增加)

    华为手环步数一直0(华为手环步数一直增加)

  • 美团的界面为什么找不到会员(美团的界面为什么不一样)

    美团的界面为什么找不到会员(美团的界面为什么不一样)

  • 嘀嗒出行怎么打发票(嘀嗒出行怎么打快车)

    嘀嗒出行怎么打发票(嘀嗒出行怎么打快车)

  • 为什么打电话成了2g(打电话为什么是打)

    为什么打电话成了2g(打电话为什么是打)

  • 红米note8pro自带贴膜吗(红米note8pro自带充电器参数)

    红米note8pro自带贴膜吗(红米note8pro自带充电器参数)

  • 苹果企业级信任在哪里(苹果企业级信任删除了还有危险嘛)

    苹果企业级信任在哪里(苹果企业级信任删除了还有危险嘛)

  • 前端怎么开发app页面(前端怎么开发TV应用页面)

    前端怎么开发app页面(前端怎么开发TV应用页面)

  • linux移动文件命令(linux移动文件命令mv)

    linux移动文件命令(linux移动文件命令mv)

  • 华为手机怎么一键回到顶部位置(华为手机怎么一键清理)

    华为手机怎么一键回到顶部位置(华为手机怎么一键清理)

  • 一加7pro是双卡双待吗(一加7pro双卡吗?用起来有没有不方便)

    一加7pro是双卡双待吗(一加7pro双卡吗?用起来有没有不方便)

  • CAD怎么给线条加粗(cad怎么给线条加粗)

    CAD怎么给线条加粗(cad怎么给线条加粗)

  • 在线网速测试网速比较快,用起来比较慢的原因?(在线网速测试网站测速工具)

    在线网速测试网速比较快,用起来比较慢的原因?(在线网速测试网站测速工具)

  • 系统垃圾清理,如何一键清除笔记本系统垃圾(鸿蒙系统垃圾清理)

    系统垃圾清理,如何一键清除笔记本系统垃圾(鸿蒙系统垃圾清理)

  • 【JavaScript】手撕前端面试题:手写Object.create | 手写Function.call | 手写Function.bind(javascript中文手册)

    【JavaScript】手撕前端面试题:手写Object.create | 手写Function.call | 手写Function.bind(javascript中文手册)

  • 商品房销售税率10%执行时间
  • 简易计税方法使用范围
  • 工业企业提供劳务收入属于什么收入
  • 公司公积金缴纳比例一般来说是多少?
  • 应交税费是没有增值税吗
  • 一般纳税人降为小规模还能升为一般纳税人吗
  • 离职补偿金怎么做账
  • 销售方记账凭证怎么做分录
  • 对赌协议补偿款计入哪个科目
  • 采购商品未收到分录
  • 房地产开发企业预收款预缴增值税
  • 非居民企业的征税范围
  • 小规模纳税人查账征收所得税税率
  • 财税[2016]101
  • 哪些开普通发票
  • 债转股需不需要交税
  • 物业代收水电费,业主不交怎么办
  • 开票系统的收款码怎么弄
  • 购销合同印花税计税依据
  • 国际收款产生的手续费账务处理
  • 借款利息资本化金额
  • 专用发票的开票人收款人复核人都要开齐吗
  • 库存现金的收支账务处理
  • 股票质押得到的钱怎么算
  • 苹果电脑如何提高网速
  • 上网慢怎么解决
  • 企业工会经费计提比例
  • rsmsink.exe - rsmsink是什么进程 有何作用
  • 外汇延期收款办理操作指南
  • npm命令不存在
  • 储金会是干什么的
  • 非货币性资产投资个人所得税
  • 注销库存股的会计分录怎么理解
  • 个人销售非住宅无法提供原值怎么计算增值税
  • 特许权使用费包括哪些内容
  • uni-app开发教程
  • 旅游费发票可以报销吗
  • win10系统安装配置
  • 闭包 python
  • custom用法
  • php自动载入文件的函数
  • python操作yaml文件
  • 会计信息采集每年都要采集吗
  • 公司开普票和专票税率一样吗
  • 代收电费增值税品目
  • 读取注册表失败,请检查注册表
  • 计提电费的会计分录怎么写
  • 本年利润的会计分录怎么做
  • 报销单据粘贴单模板
  • 自产产品用于业务招待
  • 进项税和销项税月末怎么结转
  • 增资如何做账务处理
  • 以前多计提的税款怎么办
  • 应付账款不用付了怎么做账
  • 长期股权投资全部亏损汇算清缴怎么填
  • 公司内部核算调研报告
  • 先付一部分款发票怎么做
  • 差旅费是什么支出类型
  • 为什么要缴纳残保金
  • 64位VMware虚拟机系统打不开怎么办?
  • Windows7设置默认打印机
  • 最小化安装centos7怎么装图形界面
  • linux系统中的链接文件主要分为两种
  • macbook怎么开启
  • kcleaner是什么文件夹
  • win7系统玩游戏卡顿怎么办
  • Win10系统安装步骤
  • iptables防火墙规则
  • nodejs cicd
  • jQueryUI Datepicker组件设置日期高亮
  • 有几种导航
  • android中的几种动画
  • 用javascript
  • Android之ContentProvider
  • android自定义view的三大流程
  • jquery简单吗
  • 发票怎样上传?
  • 辽宁事业单位职测考试时间多长
  • 地税管理员是干什么的
  • 税务登录 河北省地方税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设