Chrome文件上传错误

Chrome文件上传错误

本文介绍了Chrome文件上传错误:更改事件不会被同一个文件执行两次的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用这个html5文件上传器插件,但它在 Google Chrome 上存在一个我无法理解和修复的错误。它在Firefox上正常工作。





问题是,您不能两次从您的桌面上传两次相同的文件。 点击,选择,然后点击确定从桌面上传一个文件,它会提示一个消息,比如'.button-1' - 取决于你点击了哪个上传按钮。

然后,如果您尝试再次上传相同的文件,这行代码将不会再执行,

 (code $)$(。upload-file,object_parent).change(function(){

...
...

alert($ cm.selector);

});

任何想法这个插件出了什么问题?

 (function($){

//将这个新方法附加到jQuery
$ .fn.extend({

//这是你写插件名称的地方
upload_file_html5:function(options){

//设置默认值,用逗号分隔这些设置,例如:
var defaults = {
objectSuperparent:'.media'
}

var options = $ .extend(defaults,options);
var o = options;

var $ cm = this.click(函数(e){

//< a>按钮是这种情况下的对象
var object = $(this);

//获取元素的其他信息属于这个对象组
var object_href = object.attr('href');
var object_parent = object.parent( );
alert($ cm.selector);

//触发元素上的click事件。
//由于安全策略触发,在某些浏览器中不允许/支持输入type = file,Opera是其中之一。
//$('input[type=file]').trigger('click'); //或:
$(。upload-file,object_parent).click();

返回false;

});

//当用户更改文件时触发ajax帖子。
var $ cm_2 = $(。upload-file)。change(function(){

//< input>是这种情况下的对象
var object = $(this);

var object_form = object.parent();
var object_superparent = object.parents(o.objectSuperparent);
var path_config = $($ cm.selector,object_superparent).attr('href');
var path_post = object_form.attr('action');

alert($ cm.selector);
// alert(path_config);

....
....

});

}
});

))(jQuery);它在Chrome上正常工作,但最近刚刚失败,可能Chrome已经将最新版本更新到了我的机器上并且这个更新导致了bug?

解决方案

是的。我的Chrome与Firefox有不同的行为,但是我认为Chrome是正确的。

根据:
$ b

if you try to upload the same file, the value of file input does not change. Try to print it out:

$('.button-2').click(function(){
    console.log($(".list .upload-file").val())
    return false;
});

这篇关于Chrome文件上传错误:更改事件不会被同一个文件执行两次的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-13 18:04