小编mog*_*ers的帖子

在zip.js完成操作之前,HTML5 ondrop事件返回

我的问题的关键在于我需要异步使用datatransferitemlist,这与规范中描述的功能不一致,即事件结束后您将被锁定在dataTransfer.items集合之外.

https://bugs.chromium.org/p/chromium/issues/detail?id=137231 http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#drag-data -商店

案件罪犯如下.更详细地描述了我的问题和下面的想法.

drophandler: function(event) {
    event.stopPropagation();
    event.preventDefault();
    event.dataTransfer.dropEffect = 'copy';
    zip.workerScriptsPath = "../bower_components/zip.js/WebContent/";
    zip.useWebWorkers = false; // Disabled because it just makes life more complicated
    // Check if files contains just a zip
    if (event.dataTransfer.files[0].name.match(/(?:\.([^.]+))?$/) == 'zip') {
        var reader = new FileReader();
        that = this;
        reader.onload = function(e) {
            that.fire('zipuploaded', e.target.result.split(',')[1]);
        }
        reader.readAsDataURL(event.dataTransfer.files[0]);
        // Rev up that in browser zipping
    } else {
        var that = this;
        var items = event.dataTransfer.items;
        // Async operation, execution falls …
Run Code Online (Sandbox Code Playgroud)

javascript html5 asynchronous drag-and-drop zip.js

10
推荐指数
1
解决办法
241
查看次数

标签 统计

asynchronous ×1

drag-and-drop ×1

html5 ×1

javascript ×1

zip.js ×1