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:

36 lines (30 loc) 1.08 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?: string): boolean { // Allow passing in userAgent for tests if (userAgent == null && typeof navigator !== 'undefined') { 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 }