Когда я делаю это в dragstart событии:
e.dataTransfer.setData('text/plain', 'text');
e.dataTransfer.setData('text/html', 'html');
e.dataTransfer.setData('application/x-bookmark', 'bookmark');
и это в событии отбрасывания:
for (var i = 0; i < e.dataTransfer.types.length; i++) {
var type = e.dataTransfer.types[i];
console.log(type + ":" + e.dataTransfer.getData(type));
}
Я, как предполагалось, имел:
text/plain:text
text/html:html
application/x-bookmark:bookmark
как, что я вошел в FF, но на самом деле я добрался:
Text:text
text/plain:text
в Chrome. Куда те данные уводят? Это означает, что хром не реализовал объект dataTransfer правильно? И что я могу сделать об этом?
Я выполнил это в Chrome 4.0.266.0
Да, это жучок в Хроме. Смотрите issues 31037 и issue 30240 в трекере проблем с хромом (хром - открытая версия google chrome). Я не вижу другого решения, кроме как ждать исправления ошибки. Вы можете помочь им исправить его, предоставив простой тестовый кейс.