heimrichhannot/dropzone

此包已被废弃,不再维护。作者建议使用 heimrichhannot/dropzone-latest 包。

dropzone 的 shim 组件仓库。

安装: 27

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 7

分支: 0

开放问题: 0

语言:CoffeeScript

类型:contao-component

5.2.1 2017-11-24 09:36 UTC

This package is not auto-updated.

Last update: 2022-02-01 13:10:50 UTC


README

Dropzone.js

Codeship Status for enyo/dropzone

Dropzone.js 是一个轻量级的 JavaScript 库,可以将 HTML 元素转换为拖放区域。这意味着用户可以将文件拖放到该元素上,然后通过 AJAX 将文件上传到服务器。

如果您需要支持,请使用带有 dropzone.js 标签的 stackoverflow,而不是 GitHub 问题跟踪器。只有在您认为您发现了一个错误或有一个功能请求时,才在这里发布问题。

在开始为 Dropzone 工作!之前,请阅读 贡献指南


>> 下载 <<

从版本 2.0.0 开始,此库不再依赖于 jQuery(但它仍然可以作为 jQuery 模块工作)。

Dropzone 与 component 兼容,提供独立版本和与 AMD 兼容的模块,后者与 RequireJS 兼容,位于下载文件夹中。

687474703a2f2f692e696d6775722e636f6d2f586637517656472e706e67

主要功能

  • 图片缩略图预览。只需注册回调 thumbnail(file, data) 并在您喜欢的地方显示图片即可
  • 支持 Retina
  • 多文件和同步上传
  • 进度更新
  • 支持大文件
  • 完整的主题化。Dropzone 的外观和感觉只是默认主题。您可以通过覆盖默认事件监听器来自定义一切。
  • 经过良好测试

文档

有关完整文档和安装信息,请访问 www.dropzonejs.com

请参阅 常见问题解答

示例

有关示例,请参阅 GitHub wiki

使用

隐式创建

<form id="my-awesome-dropzone" action="/target" class="dropzone"></form>

就是这样!

Dropzone 将自动附加到它并处理文件拖放。

需要更多控制?您可以通过这种方式配置拖放区域

// "myAwesomeDropzone" is the camelized version of the ID of your HTML element
Dropzone.options.myAwesomeDropzone = { maxFilesize: 1 };

...或者像这样手动实例化 dropzone

new Dropzone("div#my-dropzone", { /* options */ });

请注意,拖放区域不一定是表单。但如果您选择其他元素,您必须在选项中传递 url 参数。

有关配置选项,请参阅网站上的 文档源代码

注册活动

如果您想注册某个活动,您可以直接在 dropzone 对象上进行注册。

Dropzone.options.myDropzone({
  init: function() {
    this.on("error", function(file, message) { alert(message); });
  }
});
// or if you need to access a Dropzone somewhere else:
var myDropzone = Dropzone.forElement("div#my-dropzone");
myDropzone.on("error", function(file, message) { alert(message); });

有关所有活动的列表,请参阅文档中的“»事件«”章节(http://www.dropzonejs.com/#events)或查看源代码(https://github.com/heimrichhannot/dropzone/blob/HEAD/src/dropzone.coffee#L43)。

浏览器支持

  • Chrome 7+
  • Firefox 4+
  • IE 10+
  • Opera 12+(MacOS版本12已禁用,因为他们的API有bug)
  • Safari 6+

对于其他所有浏览器,dropzone提供了一个老式的文件输入回退。

为什么还需要另一个库?

我明白已经有其他库存在,但决定自己编写的原因如下:

  • 我不想让它太大,也不想让它变得过于复杂。
  • 我想设计自己的元素。我只希望注册回调,以便相应地更新我的元素。
  • 大文件应该可以无问题上传。
  • 我想有一个用于图像预览的回调,这样即使查看太多太大图像也不会杀死浏览器。
  • 我想使用浏览器最新的API。我不在乎如果浏览器太旧,它会回退到正常的上传表单。
  • 我认为现在不再需要依赖像jQuery这样的库(尤其是当提供的功能在旧浏览器中本来就不存在时)。

MIT许可

请参阅LICENSE文件