Ver código fonte

Make data-navigate-once work across pages that add and remove the script tag

Caleb Porzio 1 ano atrás
pai
commit
8677f6b87e
1 arquivos alterados com 3 adições e 1 exclusões
  1. 3 1
      packages/navigate/src/page.js

+ 3 - 1
packages/navigate/src/page.js

@@ -1,11 +1,13 @@
 import Alpine from "alpinejs/src/alpine"
 
+let oldBodyScriptTagHashes = []
+
 export function swapCurrentPageWithNewHtml(html, andThen) {
     let newDocument = (new DOMParser()).parseFromString(html, "text/html")
     let newBody = document.adoptNode(newDocument.body)
     let newHead = document.adoptNode(newDocument.head)
 
-    let oldBodyScriptTagHashes = Array.from(document.body.querySelectorAll('script')).map(i => simpleHash(i.outerHTML))
+    oldBodyScriptTagHashes = oldBodyScriptTagHashes.concat(Array.from(document.body.querySelectorAll('script')).map(i => simpleHash(i.outerHTML)))
 
     mergeNewHead(newHead)