我正在使用Dojo 1.8。我已经定义了一个Uploader,它支持Firefox、Chrome和Safari中的多个附件,但是当我在IE9中提交表单时,会发出多个POST请求,而不仅仅是一个。
下面是我的代码概要。我加载了Flash,这样Uploader将在IE中运行( IFrame和HTML5插件不工作)。除了IE本身之外,还有什么原因可以解释为什么这与其他浏览器有如此大的不同呢?
define([
'dojox/form/Uploader',
'dojox/form/uploader/FileList',
'dojox/form/uploader/plugins/Flash'
], function(Uploader, FileList) {
...
this.u = new dojox.form.Uploader({
label: "Browse...",
multiple: true,
uploadOnSelect: false,
url: 'uploadServlet'
});
this.list = new FileList({
uploader: u
});
...
this.u.startup();
this.list.startup();
});发布于 2013-10-01 16:59:43
在与Uploader的Flash插件搏斗之后,我得出了以下(令人失望的)结果:
has("ie")嗅探用户代理,并处理IE的附件上传不同于其他浏览器。接着,我愤怒地向IE挥动拳头,咒骂它的家人。force="flash",否则所有其他浏览器都会使用HTML5插件,这很好。总的来说,这有点令人失望,因为Dojo应该支持所有主要浏览器(遗憾的是,IE仍然包含在其中),但dojox包仍然有些错误。希望这一功能在2.0中得到改进。
发布于 2013-08-01 17:08:39
在dojo1.9.1上,Flash插件显示以下警告消息:
dojox.form.uploader.plugins.Flash已被删除。您可以直接使用Uploader,它将包含所有必要的功能。
所以,我想你不需要加载任何插件,Uploader会为你做的。
发布于 2013-07-23 17:48:58
这是Flash插件的默认行为。所有支持HTML5文件输入与multiple=“真”的其他浏览器都使用HTML5插件,除非您强制闪存。
https://stackoverflow.com/questions/17812217
复制相似问题