소스 검색

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

Caleb Porzio 1 년 전
부모
커밋
8677f6b87e
1개의 변경된 파일3개의 추가작업 그리고 1개의 파일을 삭제
  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)