summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Martin Trapp <94928215+martrapp@users.noreply.github.com> 2024-01-11 06:12:45 +0100
committerGravatar GitHub <noreply@github.com> 2024-01-11 13:12:45 +0800
commita3b5695176cd0280438938c1d6caef478a571415 (patch)
tree03d10351398d24cccdb60744c86706878bd9c3c0
parente72efd6a9a1e2a70488fd225529617ffd8418534 (diff)
downloadastro-a3b5695176cd0280438938c1d6caef478a571415.tar.gz
astro-a3b5695176cd0280438938c1d6caef478a571415.tar.zst
astro-a3b5695176cd0280438938c1d6caef478a571415.zip
Don't try to load partytown scripts in the main thread during view transitions (#9658)
-rw-r--r--.changeset/early-taxis-love.md5
-rw-r--r--packages/astro/src/transitions/router.ts4
2 files changed, 8 insertions, 1 deletions
diff --git a/.changeset/early-taxis-love.md b/.changeset/early-taxis-love.md
new file mode 100644
index 000000000..2e092dfe1
--- /dev/null
+++ b/.changeset/early-taxis-love.md
@@ -0,0 +1,5 @@
+---
+"astro": patch
+---
+
+Fixes an issue caused by trying to load text/partytown scripts during view transitions
diff --git a/packages/astro/src/transitions/router.ts b/packages/astro/src/transitions/router.ts
index 41b9acf87..4e4f562a3 100644
--- a/packages/astro/src/transitions/router.ts
+++ b/packages/astro/src/transitions/router.ts
@@ -151,12 +151,14 @@ function runScripts() {
let wait = Promise.resolve();
for (const script of Array.from(document.scripts)) {
if (script.dataset.astroExec === '') continue;
+ const type = script.getAttribute('type');
+ if (type && type !== 'module' && type !== 'text/javascript') continue;
const newScript = document.createElement('script');
newScript.innerHTML = script.innerHTML;
for (const attr of script.attributes) {
if (attr.name === 'src') {
const p = new Promise((r) => {
- newScript.onload = r;
+ newScript.onload = newScript.onerror = r;
});
wait = wait.then(() => p as any);
}