如何检测不支持XHR2上传进度的浏览器

Vis*_*hnu 11 javascript xmlhttprequest

很少有Android浏览器,包括旧设备上的三星默认浏览器将不支持

xhr.upload.onprogress
Run Code Online (Sandbox Code Playgroud)

事件.因此,我们无法在该浏览器上显示实时上传进度.

如何检测这些浏览器?所以我可以更改我的设置以显示进度.

fre*_*727 3

简单地 :

var xhr = new XMLHttpRequest();
if ( xhr && ('upload' in xhr) && ('onprogress' in xhr.upload) ) // attach event...
Run Code Online (Sandbox Code Playgroud)

所以如果你想要一个函数:

function supportAjaxUploadProgressEvents() {
  var xhr = new XMLHttpRequest();
  return !! (xhr && ('upload' in xhr) && ('onprogress' in xhr.upload));
}
Run Code Online (Sandbox Code Playgroud)