Chrome是否未正确实施dataTransfer对象?

Shi*_*kun 14 javascript google-chrome dto

当我在dragstart事件中执行此操作时:

e.dataTransfer.setData('text/plain', 'text');
e.dataTransfer.setData('text/html', 'html');
e.dataTransfer.setData('application/x-bookmark', 'bookmark');
Run Code Online (Sandbox Code Playgroud)

这是在drop事件中:

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

我应该有:

text/plain:text
text/html:html
application/x-bookmark:bookmark
Run Code Online (Sandbox Code Playgroud)

就像我在FF中得到的那样,但实际上我得到了:

Text:text
text/plain:text
Run Code Online (Sandbox Code Playgroud)

在Chrome中.这些数据在哪里消失了?这是否意味着chrome没有正确实现dataTransfer对象?我能做些什么呢?

我在Chrome 4.0.266.0中运行了它

Fab*_*obs 8

是的,它是Chrome中的一个错误.请参阅铬问题跟踪器中的问题31037和问题30240(铬是谷歌浏览器的开源版本).除了等待修复bug之外,我没有看到其他解决方案.您可以通过提供简单的测试用例来帮助他们修复它.

  • Chrome 24还是一个问题 (3认同)