diff --git a/src/modularize.js b/src/modularize.js index 33a46e08a1054..b9a8414b2ce7c 100644 --- a/src/modularize.js +++ b/src/modularize.js @@ -18,7 +18,12 @@ var {{{ EXPORT_NAME }}} = (() => { // When MODULARIZE this JS may be executed later, // after document.currentScript is gone, so we save it. // In EXPORT_ES6 mode we can just use 'import.meta.url'. +#if MIN_FIREFOX_VERSION < 74 || LEGACY_VM_SUPPORT + // This modularize.js script is not Babeled, so manually adapt for old browsers. + var _scriptName = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; +#else var _scriptName = globalThis.document?.currentScript?.src; +#endif return async function(moduleArg = {}) { var moduleRtn; diff --git a/test/browser_reporting.js b/test/browser_reporting.js index a4bcef8bb8100..90cd6b435ae02 100644 --- a/test/browser_reporting.js +++ b/test/browser_reporting.js @@ -125,12 +125,12 @@ if (hasModule) { const origPrintErr = Module['printErr']; Module['print'] = (...args) => { - origPrint?.(...args); + origPrint && origPrint(args); reportStdoutToServer(args.join(' ')); }; Module['printErr'] = (...args) => { - origPrintErr?.(...args); + origPrintErr && origPrintErr(args); reportStderrToServer(args.join(' ')); }; } diff --git a/tools/file_packager.py b/tools/file_packager.py index 8eae3ce6a33ac..ca57f7b19d5b1 100755 --- a/tools/file_packager.py +++ b/tools/file_packager.py @@ -1017,7 +1017,7 @@ def generate_preload_js(data_target, data_files, metadata): # is async, so we handle both orderings. ret += ''' var fetchPromise; - var fetched = Module['getPreloadedPackage']?.(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE); + var fetched = Module['getPreloadedPackage'] && Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE); if (!fetched) { // Note that we don't use await here because we want to execute the