diff --git a/app/stage/protyle/js/protyle-html.js b/app/stage/protyle/js/protyle-html.js index ef0f720ba..9fa38ac0c 100644 --- a/app/stage/protyle/js/protyle-html.js +++ b/app/stage/protyle/js/protyle-html.js @@ -1,5 +1,5 @@ class ProtyleHtml extends HTMLElement { - constructor() { + constructor () { super() const shadowRoot = this.attachShadow({mode: 'open'}) this.display = this.shadowRoot @@ -7,22 +7,31 @@ class ProtyleHtml extends HTMLElement { this.display.innerHTML = dataContent } - static get observedAttributes() { + static get observedAttributes () { return ['data-content'] } - attributeChangedCallback(name, oldValue, newValue) { + attributeChangedCallback (name, oldValue, newValue) { if (name === 'data-content') { - const dataContent = Lute.UnEscapeHTMLStr(this.getAttribute('data-content')) + const dataContent = Lute.UnEscapeHTMLStr( + this.getAttribute('data-content')) this.display.innerHTML = dataContent - const el = document.createElement('div'); - el.innerHTML = dataContent; - const scripts = el.getElementsByTagName("script") + const el = document.createElement('div') + el.innerHTML = dataContent + const scripts = el.getElementsByTagName('script') + let fatalHTML = '' for (let i = 0; i < scripts.length; i++) { - const s = document.createElement('script'); - s.textContent = scripts[i].textContent; - this.display.appendChild(s); + const s = document.createElement('script') + if (scripts[i].textContent.indexOf('document.write') > -1) { + fatalHTML += `