Мне нужно было определить, перетаскивается ли файл в браузер извне, а не изображение, перетаскиваемое из окна браузера. Я сделал это, прослушав dragstart на объекте document . Когда файл перетаскивается в браузер извне, dragstart не запускается. Так что, если он срабатывает, это означает, что что-то на той же странице перетаскивается.
document.addEventListener('dragstart', function() {
samePageDrag = true;
}, false);
document.addEventListener('dragend', function() {
if (samePageDrag) {
samePageDrag = false;
}
}, false);
При этом вы можете проверить значение samePageDrag после события dragenter или dragover , чтобы определить, происходит ли перетаскивание объекта из-за пределов браузера.