UNPKG

@nicholasadamou/react-iframe

Version:

A simple react component that lets you add headers to an iframe.

60 lines (50 loc) 1.63 kB
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var React = require('react'); var React__default = _interopDefault(React); function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } var Iframe = function Iframe(props) { var src = props.src; var iframe = React__default.createRef(); var method = 'GET'; var headers = new Headers(_extends({}, props.headers)); var options = { method: method, headers: headers }; var get = React__default.useRef(function () {}); get.current = function () { fetch(src, options).then(function (response) { return response.text(); }).then(function (response) { var frame = iframe.current.contentWindow || iframe.current.contentDocument.document || iframe.current.contentDocument; frame.document.open(); frame.document.write(response); frame.document.close(); })["catch"](function (e) { return console.log("@nicholasadamou/react-iframe error: " + e); }); }; React.useEffect(function () { get.current(); }, []); return /*#__PURE__*/React__default.createElement("iframe", _extends({ src: src, ref: iframe, title: "react-iframe" }, props)); }; module.exports = Iframe; //# sourceMappingURL=index.js.map