FIX: Detect firefox < 89 as an unsupported browser (#17443)

Prior to v89, Firefox has bugs with document.execCommand("insertText"): https://bugzil.la/1220696

This commit introduces some variables to browser-detect, and therefore wraps the entire logic in an IIFE to avoid state leaking. (`let`/`const` are not supported on older browsers)
This commit is contained in:
David Taylor
2022-07-12 10:50:06 +01:00
committed by GitHub
parent 6c3e262a7c
commit 8a68f49adb

View File

@ -1,3 +1,6 @@
/* eslint-disable no-var */ // `let` is not supported in very old browsers
(function () {
if (!window.WeakMap || !window.Promise || typeof globalThis === "undefined") { if (!window.WeakMap || !window.Promise || typeof globalThis === "undefined") {
window.unsupportedBrowser = true; window.unsupportedBrowser = true;
} else { } else {
@ -9,4 +12,13 @@ if (!window.WeakMap || !window.Promise || typeof globalThis === "undefined") {
} catch (err) { } catch (err) {
window.unsupportedBrowser = true; window.unsupportedBrowser = true;
} }
var match = window.navigator.userAgent.match(/Firefox\/([0-9]+)\./);
var firefoxVersion = match ? parseInt(match[1], 10) : null;
if (firefoxVersion && firefoxVersion < 89) {
// prior to v89, Firefox has bugs with document.execCommand("insertText")
// https://bugzil.la/1220696
window.unsupportedBrowser = true;
} }
}
})();