很多老的项目用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
来源:oschina
链接:https://my.oschina.net/u/4406751/blog/4296283