iframe的contentWindow属性

iframe的contentWindow属性最近在给项目搭建功能的过程中遇到了个难题 因为在设计该项目时给的 iframe 子页面非常多 从头到尾数下来的话起码得有十多个子页面 但子页面多也并不是件好事几乎每个子页面都需要用到父页面的中的方法 打开存放在父页面中与该业务相关的模态框 遮罩层 或是让父页面刷新 这都需要通过 js 中的 parent 属性去实现 反过来说 父页面也始终会用到子页面中定义好的方法 而我现在碰上的难题便是如此 比如在父中需要点击左侧菜单 触发子 iframe 中的某个事件 这个解决办法我在以前 admin 的 maya 代码中使用父中点击触

最近在给项目搭建功能的过程中遇到了个难题,因为在设计该项目时给的iframe子页面非常多,从头到尾数下来的话起码得有十多个子页面,但子页面多也并不是件好事

  1. 几乎每个子页面都需要用到父页面的中的方法,打开存放在父页面中与该业务相关的模态框、遮罩层,或是让父页面刷新,这都需要通过js中的parent属性去实现
  2. 反过来说,父页面也始终会用到子页面中定义好的方法,而我现在碰上的难题便是如此。(比如在父中需要点击左侧菜单,触发子iframe中的某个事件,这个解决办法我在以前admin的maya代码中使用父中点击触发iframe.contentWindow.chilrenEvent ,iframe中套的是vue的页面,也就是子是一个vue组件,在vue组件的mounted中定义window.chilrenEvent
  3. 具体代码见下面:
    一:父是admin原生开发的html页面(/admin/views/index.html#/oragnizationchildren是打包后放在服务器的页面访问路径)

 
   
    
    
  

二:子的vue组件中

 method(){ requstajax(){ //请求接口刷新页面数据 } }, mounted(){ var that=this window.chilrenEvent=()=>{ that.requstajax() } } 

子调用父的方法我知道通过parent属性便可以搞定,但让父调用子的方法,确实是不懂该如何解决,但当时可以想到的是:既然有parent这种属性可以帮助我们让父调用子中的方法,那么也一定会有和parent类似作用的属性存在,所以接下来我便只好在求助万能的互联网。在互联网大哥的帮助下,果然不出我所料,让我找到了本期的主人公ContentWindow属性。

也许是ContentWindow属性比较冷门吧,在W3school离线学习文档中找不到它的存在,但是它却是真实有效的,完全可以在js中被使用:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176367.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午10:06
下一篇 2026年3月26日 下午10:07


相关推荐

  • linux网卡bogon,linux 解决 bogon

    linux网卡bogon,linux 解决 bogon引用来自 007 的评论 tf root bogontestpd cattest csvA B C D code1 2 3 4 235 6 7 7 23423 423 4 21 123 tf root bogontestpd pythonPython 6 6 default Aug 18 24 23 GCC4 8 Red

    2026年3月19日
    2
  • java 写入properties文件_Java读写Properties配置文件

    java 写入properties文件_Java读写Properties配置文件Java 读写 Properties 配置文件 1 Properties 类与 Properties 配置文件 Properties 类继承自 Hashtable 类并且实现了 Map 接口 也是使用一种键值对的形式来保存属性集 不过 Properties 有特殊的地方 就是它的键和值都是字符串类型 2 Properties 中的主要方法 1 load InputStreami 这个方法可以从 properti

    2025年9月30日
    5
  • EBS安装完成后,对数据库相关配置的改动

    EBS安装完成后,对数据库相关配置的改动

    2021年11月14日
    49
  • Spring Boot – JPA配置使用[通俗易懂]

    1.JPA是什么JPA顾名思义就是JavaPersistenceAPI的意思,是JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。2.使用JPA的优势2.1标准化JPA是JCP组织发布的JavaEE标准之一,因此任何声称符合JPA标准的框架都遵循同样的架构,提供相同的访问API,这保证了基于JPA开发的…

    2022年4月3日
    120
  • windows 系统中,使用pycharm激活conda虚拟环境报错

    windows 系统中,使用pycharm激活conda虚拟环境报错Windows 系统使用 pycharm 无法激活已经创建的 conda 虚拟环境 报错如下 解决方案 2 右键以管理员身份运行 输入指令进行策略更改 输入 Y 3 在 pycharm 中重启 Terminal 即可正常激活虚拟环境

    2026年3月27日
    1
  • openbmc开发28:fru配置和测试

    openbmc开发28:fru配置和测试在 openbmc 开发 23 添加 fru 信息到 ipmi 中说明了如何将 fru 信息添加到 ipmi 中 本文将讲述如何生成 fru 以及 fru 信息获取展示以及修改等 1yaml 配置文件转换成 cpp 在软件包下有一个 scripts 文件夹 这里边是 python 脚本 模板 示例 yaml 文件以及使用说明 本内容介绍 fru 的 yaml 文件 在 configure 阶段 通过 autoconf 工具 解析 configure ac 以及 Makefile am 生成 Makefile 文件 在编译阶段执行 fru gen py 的 python 脚本 根据 fr

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号