Информация о файле при наведении на элемент - PullRequest
0 голосов
/ 25 апреля 2018

Я работаю над веб-страницей для управления файлами.Для функции мне нужно знать имя файла при наведении файла на элемент.Очень важно получить эту информацию, не обращая внимания на ХОРОШО, когда «отбрасывать» файл.

Я создал JSFiddle с настройкой.Когда вы наводите файл на отмеченный элемент div, вы постоянно получаете некоторую информацию о типе файла.

Вы можете получить dataTransfer из события зависания

let transfer = event.dataTransfer;

Свойство item содержит тип MIME файла.

transfer.items

Однако вы не получаете полную информацию о файле (имя, размер, ...).

transfer.files

При удалении файла я получаю полную информацию офайл

transfer.files.lenght //Equal to amount of files dropped

Я прочитал в нескольких старых постах (<2008), что это может быть из соображений безопасности, чего я не понимаю.По сути, нет никакой разницы между наведением курсора на файл или сбросом файла (кроме выпуска вашего LMB). </p>

Спасибо за вашу помощь:)

1 Ответ

0 голосов
/ 25 апреля 2018

Без системы защиты это означало бы, что веб-сайт может отслеживать все, что вы перетаскиваете по нему.Допустим, вы хотите переместить файл из вашего поиска в другое место, и ваш браузер находится в пути.Или вы перетаскиваете какой-то текст из слова в какое-то другое приложение, и вы даже ненадолго перемещаетесь по окну браузера.Ваш веб-сайт может получить доступ ко всему этому содержимому, и пользователь не захочет с ним взаимодействовать.

Релиз мыши - это добровольное действие пользователя, которое дает понять, что он хочет передать любые данные, которые он перетаскивает, на конкретную страницу.веб-страница.

Обратите внимание, что если вы контролируете dragstart , вы можете получить информацию.Но если ваша страница не является фактическим агентом, начинающим перетаскивание, то вы не можете предположить, пока элемент не будет удален, что пользователь хочет, чтобы контент был видим на вашей странице.

...