react-iframe
Version:
Easy peasy lemon squeezy iframes with react
79 lines (49 loc) • 2.8 kB
Markdown
Simple React component for including an iframed page.

The component is fully typescript-supported.
```jsx
import Iframe from 'react-iframe'
<Iframe url="https://www.sdrive.app/embed/1ptBQD"
width="640px"
height="320px"
id=""
className=""
display="block"
position="relative"/>
```
**url** **(required)** - *string* the iframe url.
_all other attributes are optional_
**src** - *string* if set, overrides _url_.
**scrolling** - *string* not set if if not provided (deprecated in HTML5).
**overflow** - *string* default to "hidden".
**loading** - *string* (not added to DOM if not provided).
**frameBorder** - *number* default to "0" (deprecated in HTML5).
**position** - *string* (not added to DOM if not provided).
**id** - *string* if set, adds the id parameter with the given value.
**className** - *string* if set, adds the class parameter with the given value.
**display** - *string* defaults to "block"
**height** - *string* (1px > any number above 0, or 1% to 100%)
**width** - *string* (1px > any number above 0, or 1% to 100%)
**allowFullScreen** - if set, applies the allowFullScreen param (deprecated in HTML5). If set, *adds allow="fullscreen"*.
**sandbox** - add optional sandbox values. For single value, add as string. For multiple values, add as array ({"allow-scripts", "allow-same-origin"}). Valid values are `"allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-top-navigation"`
**allow** - add optional [_allow_](https://dev.chromium.org/Home/chromium-security/deprecating-permissions-in-cross-origin-iframes#TOC-To-continue-to-use-permissions-from-iframes-on-your-website) values ("geolocation microphone camera midi encrypted-media & more")
**styles** - add any additional styles here. Will (intentionally) override any of the props
above. For instance:
```jsx
<Iframe url="http://www.youtube.com/embed/xDMP3i36naA"
position="absolute"
width="100%"
id="myId"
className="myClassname"
height="100%"
styles={{height: "25px"}}/>
```
will set the height to 25px even though it was specified as 100% in the props.
A comprehensive overview of the iframe element is available from the [MDN web docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe).
All source code resides in the `src/` folder. The other code paths are generated by the tsc compiler.
This project provides a convenient TypeScript-enabled wrapper around the native HTML <iframe> tag. You can achieve the same functionality with the native tag. You do not need to use TypeScript in your project to consume this library.