1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-07-23 15:01:14 +02:00
Files
php-web-maker/preview/detached-window.js

32 lines
916 B
JavaScript

window.addEventListener('message', e => {
// Recieving from app window
if (e.data && e.data.isCssOnly) {
const frame = document.querySelector('iframe');
if (
frame.contentDocument &&
frame.contentDocument.querySelector('#webmakerstyle')
) {
frame.contentDocument.querySelector('#webmakerstyle').textContent =
e.data.css;
}
} else if (e.data && e.data.contents && e.data.contents.match(/<html/)) {
const frame = document.querySelector('iframe');
frame.src = frame.src;
setTimeout(() => {
frame.contentDocument.open();
frame.contentDocument.write(e.data.contents);
frame.contentDocument.close();
}, 10);
}
// for files mode
if (e.data && e.data.url && e.data.url.match(/index\.html/)) {
document.querySelector('iframe').src = e.data.url;
}
// Recieving from preview iframe
if (e.data && e.data.logs) {
(window.opener || window.top).postMessage(e.data, '*');
}
});