Future roadmap

Author: davidjbradshawCreated May 19, 2024Updated Apr 30, 2026
Labelsenhancement

V5.0

v5.1

  • Copy Title element value to iframe title attribute
  • Add scrollBy() method
  • Add waitForLoad option
  • Add Parent option to create data-iframe-size attrs via CSS selector (sizeSelector)
  • Log when new element is used to calculate size

v5.2

  • Investigate if IntersectionObserver can be used to detect which elements are outside the <body/>
  • set window.location.hash when setting inPageLinks
  • Alias offsetSize -> offset
  • Investigate scrolling with sticky headers
    • #794

v5.3

  • Optimise performance
  • Log init/resize calculation timer
  • Remove warning component dependancy in React version
  • Isolate parent/child when messages passed via same-domain iframe
  • Use setTimeout(0) on user events with void return type
  • Check HTMLIFrameElement: sandbox allows JavaScript, when no response from iframe

v5.4

  • Use auto-console-group for log output
  • ingnoreSelector & data-iframe-ignore
  • setOffsetSize()
  • log: 'collapsed’ option
  • onBeforeResize(newSize)

v5.5

  • Direction both
  • Add support for loading=“lazy”
  • Detect when iframe is hidden on parent page
  • Detect and warn about reused IDs on parent iframe tags
  • Detect cross-origin errors and provide a better warning message
  • Alias onBeforeClose -> onClose
  • Alias onAfterClose -> onClosed

v6.0.0

Native TypeScript

  • Migrate to TypeScript
  • Restructure into modular code base
  • Remove NameSpace from parent types
  • Convert API consts to Union Types

New Features

  • Detect changes to child <title/> and update parent
  • Skip initial postMessage for local iframes.
  • Always use auto calculation method with V4 and before parent pages
  • Add support for multiple target origins (parent)
    • #707
  • Add support for multiple target origins (child)
  • Add numeric shorthand for log option (0=disabled, 1=collapsed, 2=expanded)
  • Add getVersion() : { parent, child }
    • #1551
  • Update onBeforeResize(newSize, event, direction)
    • #1591

Platforms

  • Add support for React.forwardRef()
  • Distribute Angular version on NPM, instead of source code
  • Drop support for Vue 2

Tests

  • Unit tests expanded to 99% coverage
  • Expanded integration tests
  • Added e2e tests

Fixes

  • Fix overflowObserver check in Safari 16 and below.
  • #1668
  • Intermittent race conditions in Jasmine integration tests — added delays/guards to prevent flaky test failures
  • targetOrigin

Type Deprecations

  • waitForLoad - no longer required in modern browsers
  • React.getElement() - non-standard API

Chore

  • Migrate from Rollup to Vite
  • Migrate from Jest to ViTest
  • Remove v5 deprecated methods
  • Remove legacy package
  • Remove iFrameResizer references, use iframeResizer instead
  • Enforce license with V4 parent

v6.1

  • Add addEventListener/removeEventListener
    • #710
  • Add option to inject child script into new same origin child pages

New warnings

  • Detect and warn about resize loops
  • Detect and warn when an iframe is removed from the page before being disconnected
  • Detect and warn about elements anchored to the page bottom/right of the page

Framework components / plugins

  • React
  • Vue 3
  • Alpine
  • Astro
  • Svelte
  • SolidJS
  • Angular
  • jQuery
  • Web Components

Source: davidjbradshaw/iframe-resizer