]> git.ardis.lu - static-encrypt/commitdiff
Merge code injection into one <script>
authorArdis Lu <ardisglu@gmail.com>
Fri, 25 Sep 2026 05:26:09 +0000 (22:26 -0700)
committerArdis Lu <ardisglu@gmail.com>
Fri, 25 Sep 2026 05:26:09 +0000 (22:26 -0700)
This change sets up later security enhancements like SRI and `type="module"`

index.html
template.html

index a123f1b75a0174ea500d4063d35b99fc0c58dd7d..c41bfa6eb9ac6a1804e3599e66d8199dac7fbcdf 100644 (file)
     document.querySelector('#download').addEventListener('click', e => {
       e.preventDefault();
       const encrypted = document.querySelector('#ciphertext').textContent;
-      const scriptInjection = `<script>const content = '${encrypted}'; ${decrypt.toString()}<\/script>`;
-      const output = template.replace('<template id="script-injection"></template>', scriptInjection);
+      const script = template.match(/<script.*>([\s\S]*)<\/script>/i)?.[1];
+      const injectedScript = `const content = '${encrypted}'; ${decrypt.toString()} ${script}`;
+      const output = template.replace(/(<script.*)>[\s\S]*<\/script>/i, `$1>${injectedScript}<\/script>`);
       downloadHtml(output, `${Date.now()}.html`);
     })
 
index e23d765cd60529cf1f5202fe0f1dec25e248e180..e0eec3a1f538daf0aac94ab7bd340e52729e5406 100644 (file)
@@ -54,7 +54,6 @@
     </form>
   </main>
 
-  <template id="script-injection"></template>
   <script>
     const input = document.querySelector('input');
 
This page took 0.04005 seconds and 4 git commands to generate.