Javascript Событие перетаскивания - отлов ошибок - PullRequest
0 голосов
/ 09 марта 2020

Возможно ли отлавливать ошибки для событий перетаскивания?

Чтобы дать вам больше контекста, на Windows 10, если я попытаюсь удалить файл, с путем + имя файла более 1000 символов в длину, падение не работает. Файл просто исчезает.

(Если указанный путь к файлу + имя файла меньше 1000 символов, все работает нормально).

DataTransferItem имеет ограничение в 1000 символов, поэтому я хочу сообщить пользователю, что путь к файлу + имя файла слишком длинное.

У меня есть простой div с событием ondrop обработчик

contentDiv.ondragover = uploadDragOver;
contentDiv.ondragenter = uploadDragEnter;
contentDiv.ondragleave = uploadDragLeave;
contentDiv.ondragend = uploadDragEnd;
contentDiv.ondrop = readItems;

...

function readItems(e) {
   const items = e.dataTransfer.items;
   console.log(items);
}

1 Ответ

0 голосов
/ 11 марта 2020

Потратив больше времени на изучение и поиск решения, я наткнулся на https://css-tricks.com/snippets/javascript/test-if-dragenterdragover-event-contains-files/, который был моим золотым билетом!

Я добавил аналогичный метод в свой код DnD. Теперь, когда я пытаюсь перетащить файл с сумасшедшей длиной пути, я могу выплевывать сообщение типа «разрешено удалять» или «не разрешено удалять».

...