From 83be7de3363db5ca0e62dfbbee7cd7ea705b6dd0 Mon Sep 17 00:00:00 2001 From: JianJroh Date: Mon, 23 Jun 2025 11:50:12 +0800 Subject: [PATCH] fix(injectScript): wait for the script to load --- packages/wxt/src/utils/inject-script.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/wxt/src/utils/inject-script.ts b/packages/wxt/src/utils/inject-script.ts index 2043e2da8..61d07f154 100644 --- a/packages/wxt/src/utils/inject-script.ts +++ b/packages/wxt/src/utils/inject-script.ts @@ -32,11 +32,17 @@ export async function injectScript( script.src = url; } - if (!options?.keepInDom) { - script.onload = () => script.remove(); - } + await new Promise((resolve, reject) => { + script.onload = () => { + resolve(); + if (!options?.keepInDom) { + script.remove(); + } + }; + script.onerror = () => reject(); - (document.head ?? document.documentElement).append(script); + (document.head ?? document.documentElement).append(script); + }); } export interface InjectScriptOptions {