|
1 | 1 | import castArray from 'lodash/castArray'; |
2 | 2 | import pick from 'lodash/pick'; |
3 | | -import base64 from 'base64-js'; |
4 | 3 | import loopBreaker from 'loop-breaker'; |
5 | 4 | import libraries from '../config/libraries'; |
6 | 5 | import previewFrameLibraries from '../config/previewFrameLibraries'; |
7 | 6 |
|
8 | | -const textEncoder = new TextEncoder('utf-8'); |
9 | 7 | const parser = new DOMParser(); |
10 | 8 |
|
11 | 9 | const sourceDelimiter = '/*__POPCODESTART__*/'; |
@@ -177,18 +175,15 @@ class PreviewGenerator { |
177 | 175 | _attachCssLibrary(css) { |
178 | 176 | const linkTag = this.previewDocument.createElement('link'); |
179 | 177 | linkTag.rel = 'stylesheet'; |
180 | | - |
181 | | - const base64encoded = base64.fromByteArray(textEncoder.encode(css)); |
182 | | - linkTag.href = `data:text/css;charset=utf-8;base64,${base64encoded}`; |
183 | | - this._previewHead.appendChild(linkTag); |
| 178 | + linkTag.innerHTML = css; |
| 179 | + this._previewHead.insertBefore(linkTag, this._previewHead.firstChild); |
184 | 180 | } |
185 | 181 |
|
186 | 182 | _attachJavascriptLibrary(javascript) { |
187 | 183 | const scriptTag = this.previewDocument.createElement('script'); |
188 | | - const base64encoded = base64.fromByteArray(textEncoder.encode(javascript)); |
189 | | - scriptTag.src = |
190 | | - `data:text/javascript;charset=utf-8;base64,${base64encoded}`; |
191 | | - this.previewBody.appendChild(scriptTag); |
| 184 | + const javascriptText = String(javascript); |
| 185 | + scriptTag.innerHTML = javascriptText.replace(/<\/script>/g, '<\\/script>'); |
| 186 | + this._previewHead.insertBefore(scriptTag, this._previewHead.firstChild); |
192 | 187 | } |
193 | 188 | } |
194 | 189 |
|
|
0 commit comments