Domanda

Quando faccio questo in dragstart evento:

e.dataTransfer.setData('text/plain', 'text');
e.dataTransfer.setData('text/html', 'html');
e.dataTransfer.setData('application/x-bookmark', 'bookmark');

e questo in evento di rilascio:

for (var i = 0; i < e.dataTransfer.types.length; i++) {
   var type = e.dataTransfer.types[i];
   console.log(type + ":" + e.dataTransfer.getData(type));
}

I dovuto avere:

text/plain:text
text/html:html
application/x-bookmark:bookmark

come quello che ho ottenuto in FF, ma in realtà ho ottenuto:

Text:text
text/plain:text

in Chrome. Dove sono andati quei dati? Questo significa cromo non implementare l'oggetto dataTransfer correttamente? E cosa posso fare?

Ho eseguito questo in Chrome 4.0.266.0

È stato utile?

Soluzione

Sì, è un bug in Chrome. Vedere le questioni 31037 ed emissione 30240 in issue tracker di cromo (cromo è la versione open source di Google Chrome). Non vedo altra soluzione che aspettare che il bug da fissare. Potete aiutarli a risolverlo, fornendo un semplice caso di test.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top