|
|
|
|
@ -107,9 +107,22 @@ export class Page extends HTMLElement {
|
|
|
|
|
const frames = wrap.getElementsByTagName('iframe')
|
|
|
|
|
this.frame = frames[frames.length - 1]
|
|
|
|
|
this.textArea.addEventListener('blur', e => {
|
|
|
|
|
const msg = ['srcdoc', e.target.value]
|
|
|
|
|
this.frame.contentWindow.postMessage(msg, '*')
|
|
|
|
|
this.display(e.target.value)
|
|
|
|
|
})
|
|
|
|
|
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) {
|
|
|
|
|
|