1.0.1 • Published 5 years ago

@trendmicro/react-iframe v1.0.1

Weekly downloads
433
License
MIT
Repository
github
Last release
5 years ago

react-iframe build status Coverage Status

NPM

React Iframe

Demo: https://trendmicro-frontend.github.io/react-iframe

Installation

  1. Install the latest version of react and react-iframe:

    npm install --save react @trendmicro/react-iframe
  2. Install react-iframe` with @trendmicro scope:

    import Iframe from '@trendmicro/react-iframe';

Usage

Fixed Iframe Height

<Iframe src="index.html" width="100%" height={240} />

Resize Iframe to Fit Content (Same Domain Only)

import ResizeObserver from 'resize-observer-polyfill';

<Iframe
    src="iframe.html"
    onLoad={({ event, iframe }) => {
        if (!(iframe && iframe.contentDocument)) {
            return;
        }

        const target = iframe.contentDocument.body;
        const nextHeight = target.offsetHeight;
        iframe.style.height = `${nextHeight}px`;

        const observer = new ResizeObserver(entries => {
            const target = iframe.contentDocument.body;
            const nextHeight = target.offsetHeight;
            iframe.style.height = `${nextHeight}px`;
        });
        observer.observe(target);
    }}
/>

API

Properties

NameTypeDefaultDescription
srcstringThe src attribute specifies the address of the document to embed in the iframe.
widthstring or number'100%'The width attribute specifies the width of an iframe, in pixels.
heightstring or number'100%'The height attribute specifies the height of an iframe, in pixels.
sandboxboolean, object, or stringThe sandbox attribute enables an extra set of restrictions for the content in the iframe.
sandbox.allowFormsbooleantrueRe-enables form submission.
sandbox.allowModalsbooleantrueSandboxed frames will block modal dialogs by default.
sandbox.allowPointerLockbooleanfalseRe-enables APIs.
sandbox.allowPopupsbooleantrueRe-enables popups.
sandbox.allowSameOriginbooleantrueAllows the iframe content to be treated as being from the same origin.
sandbox.allowScriptsbooleantrueRe-enables scripts.
sandbox.allowTopNavigationbooleanfalseAllows the iframe content to navigate its top-level browsing context.
onLoadfunctionCallback invoked when the iframe has been loaded: ({ event: Event, iframe: HTMLElement })
onBeforeUnloadfunctionCallback invoked when the iframe is about to be unloaded: ({ event: Event, iframe: HTMLElement })
onUnloadfunctionCallback invoked when the iframe has unloaded: ({ event: Event })

License

MIT

1.0.1

5 years ago

1.0.0

5 years ago

0.3.1

7 years ago

0.3.0

7 years ago

0.2.0

7 years ago

0.1.0

7 years ago