很多老的项目用ajaxupload 上传文件,但chrome浏览器升级到83版本后,oncomplete 方法就失效了。
查看了ajaxupload源码后,Github:Ajaxupload.js
_createIframe: function(){ // We can‘t use getTime, because it sometimes return // same value in safari :( var id = getUID(); // We can‘t use following code as the name attribute // won‘t be properly registered in IE6, and new window // on form submit will open // var iframe = document.createElement(‘iframe‘); // iframe.setAttribute(‘name‘, id); var iframe = toElement(‘<iframe src="javascript:false;" name="‘ + id + ‘" />‘); // src="javascript:false; was added // because it possibly removes ie6 prompt // "This page contains both secure and nonsecure items" // Anyway, it doesn‘t do any harm. iframe.setAttribute(‘id‘, id); iframe.style.display = ‘none‘; document.body.appendChild(iframe); return iframe; },
把var iframe = toElement(‘<iframe src="javascript:false;" name="‘ + id + ‘" />‘);
改成var iframe = toElement(‘<iframe src="about:blank" name="‘ + id + ‘" />‘);后,
oncomplete恢复正常。
————————————————
版权声明:本文为CSDN博主「叫我三三」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kansousama/article/details/106427773