Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5拖放getData()仅适用于Chrome中的拖放事件?_Javascript_Html_Drag And Drop - Fatal编程技术网

Javascript HTML5拖放getData()仅适用于Chrome中的拖放事件?

Javascript HTML5拖放getData()仅适用于Chrome中的拖放事件?,javascript,html,drag-and-drop,Javascript,Html,Drag And Drop,我目前正在从事一个使用HTML5拖放API的项目,以提供附加功能,包括在浏览器中拖入和拖出项目。我目前遇到的问题是特定于Chrome的(否则只在Firefox中测试,其工作原理与预期一致) 问题是,我不能在任何事件中使用event.dataTransfer.getData(type)方法返回dragstart事件上的数据集,除了drop事件 在绑定到dragstart事件(确实触发)后,我将事件设置为: 然后在drop事件中,我可以很好地获取数据 event.dataTransfer.getDa

我目前正在从事一个使用HTML5拖放API的项目,以提供附加功能,包括在浏览器中拖入和拖出项目。我目前遇到的问题是特定于Chrome的(否则只在Firefox中测试,其工作原理与预期一致)

问题是,我不能在任何事件中使用
event.dataTransfer.getData(type)
方法返回
dragstart
事件上的数据集,除了
drop
事件

在绑定到
dragstart
事件(确实触发)后,我将事件设置为:

然后在
drop
事件中,我可以很好地获取数据

event.dataTransfer.getData('text/plain')
但是,我不能在任何其他事件(如
dragover
)上使用与上述相同的方法。即使我在调用
setData()
(即在
dragstart
回调中)后尝试在线路上使用上述方法,它仍将返回
undefined

因此,在Chrome中,问题是Chrome中的
getData
总是返回
未定义的
,除了
drop
事件回调之外。(在Firefox中,我可以成功获得正确的数据。)

如果您对同一拖动元素的
dataTransfer
对象有引用,那么为什么在删除数据之前无法获取数据

只是想知道:

  • 以前有人在Chrome上遇到过这样的问题吗
  • 有什么解决办法
  • 或者,这是Chrome需要解决的问题吗
资源:
WebKit,也就是Chrome,在调用
getData
时受到很大限制。你不能在里面做。我想。

参考:

数据只在拖放时可用,这是一项安全功能,因为当您在网页上拖动某个内容时,网站可能会抓取数据


似乎是相关的。可能是@Lombas的重复,它应该可以工作,因为bug的状态表示已解决,已于2013-03-22修复
event.dataTransfer.getData('text/plain')