diff --git a/src/display/display_utils.js b/src/display/display_utils.js index 302dd0244..0c3fd6158 100644 --- a/src/display/display_utils.js +++ b/src/display/display_utils.js @@ -530,14 +530,20 @@ function isValidFetchUrl(url, baseUrl) { /** * @param {string} src + * @param {boolean} [removeScriptElement] * @returns {Promise} */ -function loadScript(src) { +function loadScript(src, removeScriptElement = false) { return new Promise((resolve, reject) => { const script = document.createElement("script"); script.src = src; - script.onload = resolve; + script.onload = function (evt) { + if (removeScriptElement) { + script.remove(); + } + resolve(evt); + }; script.onerror = function () { reject(new Error(`Cannot load script at: ${script.src}`)); }; diff --git a/web/genericcom.js b/web/genericcom.js index 2b83f0dfe..0f914218d 100644 --- a/web/genericcom.js +++ b/web/genericcom.js @@ -41,7 +41,10 @@ class GenericPreferences extends BasePreferences { class GenericScripting { constructor() { - this._ready = loadScript(AppOptions.get("sandboxBundleSrc")).then(() => { + this._ready = loadScript( + AppOptions.get("sandboxBundleSrc"), + /* removeScriptElement = */ true + ).then(() => { return window.pdfjsSandbox.QuickJSSandbox(); }); }