HTML5 DnD dataTransfer setData o getData no funcionan en todos los navegadores excepto en Firefox

Considera estoJSFiddle. Funciona bien en Firefox (14.0.1), pero falla en Chrome (21.0.1180.75), Safari (?) Y Opera (12.01?) En Windows (7) y OS X (10.8). Por lo que puedo decir, el problema es con cualquiera de los dossetData() ogetData() métodos en eldataTransfer objeto. Aquí está el código relevante del JSFiddle.

var dragStartHandler = function (e) {
    e.originalEvent.dataTransfer.effectAllowed = "move";
    e.originalEvent.dataTransfer.setData("text/plain", this.id);
};

var dragEnterHandler = function (e) {
    //  dataTransferValue is a global variable declared higher up.
    //  No, I don't want to hear about why global variables are evil,
    //  that's not my issue.
    dataTransferValue = e.originalEvent.dataTransfer.getData("text/plain");

    console.log(dataTransferValue);
};

Por lo que puedo decir, esto debería funcionar perfectamente bien y si miras la consola mientras arrastras un elemento, verás que la identificación está escrita, lo que significa que está encontrando el elemento bien y atrapando su atributo de identificación. La pregunta es, ¿simplemente no está configurando los datos o no está obteniendo los datos?

Apreciaría sugerencias porque después de una semana de trabajar en esto con tres intentos y más de 200 versiones, estoy empezando a perder la cabeza. Todo lo que sé es que solía volver a funcionar en la versión 60 y ese código específico no ha cambiado en absoluto ...

En realidad, una de las principales diferencias entre 6X y 124 es que cambié el enlace de eventos delive() aon(). No creo que ese sea el problema, pero he llegado a ver un par de fallas de Chrome cuando se trata de DnD mientras trabajaba en esto. Esto ha sido desacreditado. El método de enlace de evento no tiene efecto en el problema.

ACTUALIZAR

He creado una nuevaJSFiddle que elimina absolutamente todo y solo deja el evento vinculantes y manejadores. Lo probé con jQuery 1.7.2 y 1.8 con amboson() ylive(). El problema persistió, así que bajé un nivel, eliminé todos los marcos y utilicé JavaScript puro. La cuestióntodavía persistió, por lo que, según mis pruebas, no es mi código el que está fallando. En cambio, parece que Chrome, Safari y Opera están implementandosetData() ogetData() fuera de especificaciones o simplemente fallando por alguna razón u otra. Por favor corrígeme si estoy equivocado.

De todos modos, si echa un vistazo al nuevo JSFiddle debería poder replicar el problema, solo mire la consola cuando arrastre un elemento designado para aceptar una caída. He seguido adelante y he abierto un ticket conCromo. Al final, es posible que todavía esté haciendo algo mal, pero simplemente no sé cómo hacer DnD en este momento. El nuevo JSFiddle es tan sencillo como puede ...

Respuestas a la pregunta(8)

Su respuesta a la pregunta