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 {