Я начинаю экспериментировать с HTML5 Drag and Drop. Затем в обработчике событий dragstart мы должны запустить setData()
, который получает два параметра: формат и данные.
function dragstart_handler(ev) {
ev.dataTransfer.setData('text/plain', 'foobar');
}
Я хочу перетащить какой-то "объект" из одного контейнера в другой контейнер внутри моего веб-приложения. Под "объектом" я подразумеваю то, что имеет несколько атрибутов (цвет, текст, автор, дата,...).
Какой формат (или MIME-тип) я должен использовать?
-
text/plain
? -
text/x-myapp-myobjtype
? -
application/x-myapp-myobjtype
? -
application/x-myapp.myobjtype+json
? - что-то еще?
- более одного?
Как мне закодировать мой объект (параметр данных setData()
)?
- Разделимые (или любые другие разделители) ключи = значения пары
- Сериализовать объект с помощью JSON?
- Просто id, и в dropzone я должен получить полный объект, используя только идентификатор?
- Отправьте только ссылку на объект, даже не сериализуя что-нибудь? (невозможно, аргумент данных должен быть строкой)
(Я понимаю, что "Как скопировать объект для Drag and Drop" может быть другим вопросом здесь, но он тесно связан с выбором типа MIME)
Некоторые ссылки: