Перетаскивание файлов в Firefox (v10)

Я пытаюсь получить перетаскивание файлов в firefox и предпринимаю небольшие шаги для начала. Прямо сейчас я просто пытаюсь перетащить некоторые файлы в зону сброса и получить список удаленных файлов. На данный момент я пока не хочу ничего делать с файлами.

Когда я перетаскиваю файл (в данном случае изображение, но то же самое происходит независимо от типа файла) из Finder в Dropzone, я вижу срабатывание событий dragenter и dragexit. Когда я помещаю файл в зону сброса, событие перетаскивания не срабатывает. Вместо этого происходит то, что браузер сам открывает изображение (например, адрес показывает file://path/to/my/image.png).

Мой javascript выглядит так:

  dropbox = document.getElementById("standard_file_dropzone");

  dropbox.addEventListener("dragenter", function(){console.log('standard enter');}, false);
  dropbox.addEventListener("dragexit", function(){console.log('standard exit');}, false);
  dropbox.addEventListener("dragover", $.noop, false);
  dropbox.addEventListener("drop", function ( event ) {
                                     console.log('standard dropped');
                                     event.stopPropagation();
                                     event.preventDefault();

                                     if(( typeof event.dataTransfer.files !== 'undefined' ) &&
                                        ( event.dataTransfer.files.length > 0 )) {
                                       console.dir( event.dataTransfer.files );

                                     }
                                     return false;
                                   }, false);

Мой HTML выглядит так:

    <div id="standard_file_dropzone" style="height:150px; width:150px; border:solid;">
      Standard Drop Files Here
    </div>

Итак, мне интересно, что я здесь делаю неправильно? Кажется, нет ничего (по крайней мере, очевидного для меня) в приведенном выше коде. События dragenter/exit запускаются, почему не происходит событие drop? Почему браузер пытается открыть файл сам?

Следует отметить, что когда я открываю свою страницу в Chrome, она работает так, как и ожидалось, так что это проблема, связанная с Firefox.

спасибо, Кристоф

5
задан Christoph 11 June 2012 в 15:42
поделиться