• zhuozhuo

    本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:

    - 我的帖子已经打上 开源推广 标签: 是

    - 我的开源项目完整开源,无未开源部分: 是

    - 我的开源项目已链接认可 LINUX DO 社区: 是

    - 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是

    - 以上选择我承诺是永久有效的,接受社区和佬友监督: 是

    以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出


    大家好,来 Linux.do 有一段时间,第一次分享自己的开源项目,还请大家多多指教 ^-^

    开源了一个 轻量级的 iframe 通信库:iframe-js。

    主要解决 iframe + postMessage 在实际项目中需要反复处理的 ACK、握手、RPC、状态同步、消息队列、超时、Origin 校验 等问题。

    项目比较注重轻量化和低侵入,不希望为了 iframe 通信引入一个很重的依赖,包体积非常小巧,适合直接集成到现有项目中。

    目前主要支持:

    ^-^ ACK 消息确认

    - iframe 自动握手 & 消息队列

    - RPC 远程调用

    - 状态同步

    - iframe 高度自动同步

    - Origin 白名单

    - Promise / 超时处理

    简单来说,就是希望把原本需要自己维护的一堆:

    postMessage + requestId + Promise + timeout + handshake + RPC

    封装起来,让 iframe 通信简单一点。

    ^-^ GitHub:

    github.com

    图片

    GitHub - 1503963513/iFramejs: 解决 IFrame 通信;优雅使用 PostMessage

    解决 IFrame 通信;优雅使用 PostMessage

    ^-^ npm:

    https://www.npmjs.com/package/iframe-js

    项目目前还在持续完善,欢迎大家有兴趣的话点进去看看源码和详细介绍。

    如果有做过 iframe、微前端、SDK 通信的朋友,也非常欢迎提提意见,尤其是 API 设计方面。

    第一次来 Linux.do 发开源项目,还请各位大佬多多指教 ^-^

    主楼
  • Grogu

    有意思,技术的发展历史总是在不断进步中重演

    #1
  • ltw

    很少用iframe,印象中兼容总是一大堆问题 ^-^

    #2
  • zhuozhuo

    确实哈哈,很多东西看起来是在“重新造轮子”,但实际项目复杂起来之后,又会重新遇到那些问题,这个项目主要是从实际项目里的痛点抽出来的,尽量做到简单一点,轻一点

    #3
  • zhuozhuo

    很少用iframe,印象中兼容总是一大堆问题

    确实是呢,iframe 现在很多时候能不用就不用,但是实际项目中有些场景还不能绕开的,要兼容不同平台,嵌入三方系统,还有一些历史遗留项目,也在碰到了这样的场景,才单独把这些通信逻辑抽离出来做成这个库的

    #4

发表回复

登录后回复