@nicholasadamou/react-iframe
Version:
A simple react component that lets you add headers to an iframe.
60 lines (50 loc) • 1.63 kB
JavaScript
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