UNPKG

@uppy/core

Version:

Core module for the extensible JavaScript file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Instagram, Dropbox, Google Drive, S3 and more :dog:

34 lines (31 loc) 1.11 kB
// Edge 15.x does not fire 'progress' events on uploads. // See https://github.com/transloadit/uppy/issues/945 // And https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12224510/ export default function supportsUploadProgress(userAgent) { // Allow passing in userAgent for tests if (userAgent == null && typeof navigator !== 'undefined') { // eslint-disable-next-line no-param-reassign userAgent = navigator.userAgent; } // Assume it works because basically everything supports progress events. if (!userAgent) return true; const m = /Edge\/(\d+\.\d+)/.exec(userAgent); if (!m) return true; const edgeVersion = m[1]; const version = edgeVersion.split('.', 2); const major = parseInt(version[0], 10); const minor = parseInt(version[1], 10); // Worked before: // Edge 40.15063.0.0 // Microsoft EdgeHTML 15.15063 if (major < 15 || major === 15 && minor < 15063) { return true; } // Fixed in: // Microsoft EdgeHTML 18.18218 if (major > 18 || major === 18 && minor >= 18218) { return true; } // other versions don't work. return false; }