Перетаскивание в Safari 5 приводит к неожиданным именам файлов - PullRequest
2 голосов
/ 04 октября 2011

При переносе файлов в Safari я получаю странные имена файлов.Иногда это работает, иногда появляются странные имена.Я использую evt.dataTransfer.files для чтения отброшенных файлов.

Как это можно смягчить?

Screen of Safari and the files I dropped in

Debug screenshot at line 14

random files names

1 Ответ

0 голосов
/ 05 октября 2011

для всех, кто хотел бы попробовать это ... вот полная страница. Просто откройте его в Safari и поместите файлы в зону перетаскивания.

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        #dropbox { border: 1px dashed #ccc; padding: 10px; margin: 10px 0; }
        #dropbox:hover { border: 1px dashed green; }
    </style>
    <script type="text/javascript">
        function noop(evt) {
            evt.stopPropagation();
            evt.preventDefault();
        }
        function drop(evt) {
            evt.stopPropagation();
            evt.preventDefault();

            var div = document.getElementById("files");
            var files = evt.dataTransfer.files;
            for (i = 0; i < files.length; i++) {
                var file = files[i];
                div.innerHTML += i + "=" + file.name + " " + file.size + " " + file.type + "<br/>";
            }
        }
        function addlistener() {
            document.getElementById("dropbox").addEventListener("dragenter", noop, false);
            document.getElementById("dropbox").addEventListener("dragover", noop, false);
            document.getElementById("dropbox").addEventListener("dragexit", noop, false);
            document.getElementById("dropbox").addEventListener("drop", drop, false);
        }
    </script>
</head>
<body onload="addlistener()">
    <div id="dropbox">drop zone</div>
    <div id="files"></div>
</body>
</html>

вот результаты, которые я получаю

0=Chrysanthemum.jpg纽`d崰ၐ7 0 
1=Desert.jpgpg 0 
2=Hydrangeas.jpg 595284 image/jpeg
3=Jellyfish.jpg 0 
4=Koala.jpgȘ 0 
5=Lighthouse.jpg 561276 image/jpeg
6=Penguins.jpg 777835 image/jpeg
7=Tulips.jpg 620888 image/jpeg
...