event.dataTransfer.files在firefox中未定义
event.dataTransfer.files undefined in firefox
我正在为我的一个项目添加拖放功能,但我遇到了firefox的问题。
我正在测试这种情况的代码是:
document.getElementById("folder_files").addEventListener("drop", function(event) {
event.preventDefault();
event.stopPropagation();
alert(event.dataTransfer.files[0].fileName);
}, false);
为了测试,我将一个文件拖到我的folder_files分区中。在chrome(版本16)中,会弹出带有文件名fine的警报。对于firefox(版本8),我会得到未定义。有什么想法吗?
发现问题。在转储对象中的所有内容后,我可以看到chrome得到的数据与firefox不同。
铬得到了什么:
'0' ...
'size' => "30379"
'lastModifiedDate' ...
'fileSize' => "30379"
'name' => "bg.png"
'type' => "image/png"
'webkitRelativePath' => ""
'fileName' => "bg.png"
'webkitSlice' => "function webkitSlice() { [native code] }"
'length' => "1"
'item' => "function item() { [native code] }"
firefox得到了什么:
0' ...
'size' => "30379"
'type' => "image/png"
'mozSlice' => "function mozSlice() {
[native code]
}"
'name' => "bg.png"
'mozFullPath' => ""
'length' => "1"
'item' => "function item() {
[native code]
}"
我没有在代码中使用fileName/fileSize/fileType,而是开始使用name/size/type。
您可以添加下面这样的normalize函数来支持两者:
// File Normalization for Firefox support:
_normalizeFunction: function (file) {
if (file.name === undefined && file.size === undefined) {
file.name = file.fileName;
file.size = file.fileSize;
}
},
相关文章:
- IE/Chrome中未定义的函数,但Firefox中没有
- Firefox Addon为什么标签页的readystate未定义
- Javascript'元素'在ie中未定义,但在chrome和firefox中运行良好
- Javascript - e (event) 在 Firefox 中是未定义的
- 引用错误:未定义函数-Firefox
- ReferenceError:事件未在Firefox中定义错误
- getElementsByTagName'未定义'在Firefox和Chrome中
- Services.wm 是未定义的(Firefox SDK Extension)
- 出现错误:TypeError:window.event在我的javascript代码的firefox中未定义
- 拖放文件时,dataTransfer.items属性在Firefox和IE中未定义,但在Chrome中未定义
- 余烬.js ReferenceError:Firefox 中未定义事件
- 事件未定义错误在 javascript 中只有 Firefox
- Firefox 中的“未定义”JavaScript 错误
- d3.js变量未定义,但在Firefox控制台中,它可以工作
- “(回调方法)未定义”在 Firefox 插件上的 JSONP 访问中
- Mozilla Firefox表示未定义Referenceerror事件,没有任何解决方案有效
- 未定义 Firefox JS 引用错误事件
- ReferenceError:事件未定义firefox d3.js
- 错误:Components.utils未定义-Firefox加载项
- Video.js这个.技术未定义firefox