|
|
@ -107,9 +107,22 @@ export class Page extends HTMLElement { |
|
|
const frames = wrap.getElementsByTagName('iframe') |
|
|
const frames = wrap.getElementsByTagName('iframe') |
|
|
this.frame = frames[frames.length - 1] |
|
|
this.frame = frames[frames.length - 1] |
|
|
this.textArea.addEventListener('blur', e => { |
|
|
this.textArea.addEventListener('blur', e => { |
|
|
const msg = ['srcdoc', e.target.value] |
|
|
this.display(e.target.value) |
|
|
this.frame.contentWindow.postMessage(msg, '*') |
|
|
|
|
|
}) |
|
|
}) |
|
|
|
|
|
this.frame.addEventListener('load', () => { |
|
|
|
|
|
this.display(this.body) |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
display(value) { |
|
|
|
|
|
let doc = value |
|
|
|
|
|
if (!(/<\w/).test(doc.substring(0, 30))) { |
|
|
|
|
|
doc = `<pre style="white-space: pre-wrap; margin: 8px 12px; font-family: monospace;">` + |
|
|
|
|
|
doc.replace("<", "<").replace(">", ">") + |
|
|
|
|
|
`</pre>` |
|
|
|
|
|
} |
|
|
|
|
|
const msg = ['srcdoc', doc] |
|
|
|
|
|
this.frame.contentWindow.postMessage(msg, '*') |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
set body(value) { |
|
|
set body(value) { |
|
|
|