В спецификации HTML5 есть несколько примеров перетаскивания (см. текущий рабочий черновик или последняя версия ).В таких примерах используется пользовательский тип MIME, а также предлагается использование типов MIME для конкретного сайта.Посмотрите этот фрагмент:
<p>Drop your favorite fruits below:</p>
<ol dropzone="move s:text/x-example" ondrop="dropHandler(event)">
<-- don't forget to change the "text/x-example" type to something
specific to your site -->
</ol>
<script>
var internalDNDType = 'text/x-example'; // set this to something specific to your site
[...]
Итак, это здорово, это означает, что мы должны использовать пользовательский тип MIME!(если мы на самом деле не перетаскиваем простой текст, или просто URL, или что-то, что уже имеет общеизвестный тип)
Но как нам создать такой пользовательский тип MIME?
Я не нашел никакогодокументация об этом, поэтому я посмотрел на другие типы MIME.* * * * * * * * * * * * * * * * * * * * * * * * * * * В списке типов текстовых носителей нет ничего особенного, но список типов носителей в приложениях был довольно интересным.Позвольте мне взять образец из этого списка:
application/atom+xml
application/xhtml+xml
application/xmpp+xml
application/vnd.google-earth.kml+xml
application/vnd.google-earth.kmz
application/vnd.iptc.g2.newsitem+xml
application/vnd.iptc.g2.packageitem+xml
application/vnd.nokia.iptv.config+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml
application/vnd.yamaha.openscoreformat.osfpvg+xml
application/vnd.hal+json
application/vnd.hal+xml
Я могу заметить шаблон для создания имен:
- Точка иерархически разделяет несколько «элементов» (например, * 1022).* это дочерний элемент
iptv
, то есть дочерний элемент nokia
, то есть дочерний элемент vnd
). - Дефис разделяет составные слова (как в
google-earth
и openxmlformats-officedocument
). - Знак плюс служит для дальнейшего указания формата сериализации (
+json
и +xml
в этих примерах). - Префикс
x-
следует использовать для типов MIME, не зарегистрированных в IANA (итаким образом, не отображается в этом списке).
На основании этих правил я могу предложить использовать следующий тип MIME:
application / x-mysite.myobject +json (или application / x-mysite.parentobject.childobject + json )
Это наиболее точный и правильный способ указания пользовательского типа MIME для веб-приложенияОбъект закодирован в формате JSON.