12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)
- exports.writableStream = isFunction(global.WritableStream)
- exports.abortController = isFunction(global.AbortController)
- exports.blobConstructor = false
- try {
- new Blob([new ArrayBuffer(1)])
- exports.blobConstructor = true
- } catch (e) {}
- var xhr
- function getXHR () {
-
- if (xhr !== undefined) return xhr
- if (global.XMLHttpRequest) {
- xhr = new global.XMLHttpRequest()
-
-
-
- try {
- xhr.open('GET', global.XDomainRequest ? '/' : 'https://example.com')
- } catch(e) {
- xhr = null
- }
- } else {
-
- xhr = null
- }
- return xhr
- }
- function checkTypeSupport (type) {
- var xhr = getXHR()
- if (!xhr) return false
- try {
- xhr.responseType = type
- return xhr.responseType === type
- } catch (e) {}
- return false
- }
- var haveArrayBuffer = typeof global.ArrayBuffer !== 'undefined'
- var haveSlice = haveArrayBuffer && isFunction(global.ArrayBuffer.prototype.slice)
- exports.arraybuffer = exports.fetch || (haveArrayBuffer && checkTypeSupport('arraybuffer'))
- exports.msstream = !exports.fetch && haveSlice && checkTypeSupport('ms-stream')
- exports.mozchunkedarraybuffer = !exports.fetch && haveArrayBuffer &&
- checkTypeSupport('moz-chunked-arraybuffer')
- exports.overrideMimeType = exports.fetch || (getXHR() ? isFunction(getXHR().overrideMimeType) : false)
- exports.vbArray = isFunction(global.VBArray)
- function isFunction (value) {
- return typeof value === 'function'
- }
- xhr = null
|