dataTransfer.set拖放的数据在chrome中不起作用
dataTransfer.setData of drag&drop doesn't work in chrome?
<div id="asd" title="222">drag me</div>
<script>
var el = document.getElementById("asd");
el.draggable=true;
el.addEventListener("dragstart", function(ev){
ev.stopPropagation();
var dt = ev.dataTransfer;
dt.effectAllowed = "copyMove";
console.log(this.getAttribute("title") + " attr");
dt.setData('Text', this.getAttribute("title"));
console.log(dt.getData('Text') + " dt");
},false);
</script>
小提琴:
http://jsfiddle.net/vwjCa/
http://jsfiddle.net/vwjCa/2/(此处为自定义类型而不是文本)
在火狐打印中:
222 attr
222 dt
在镀铬打印中:
222 attr
dt
问题出在哪里?提前致谢
回答自己:
显然chrome只允许在丢弃事件中读取dataTransfer的数据
这是出于安全原因
例如,如果我在远程页面上"拖动"信用卡号,除非我没有"丢弃",否则这个应该无法读取我的数据
Firefox 也这样做,但如果事件的"域"相同,则允许读取 getData()
chrome 中有一个错误,它只允许您使用某些 MIME 类型。尝试将代码中的'Text'
更改为 'text/plain'
,这应该在 chrome 中工作。
相关文章:
- XMLHttpRequest在移动设备上的chrome上不起作用
- ng disabled在chrome中不起作用.按钮在角度上未禁用
- 鼠标输入在 YUI 的 chrome 中不起作用
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- HTML5视频链接在Chrome中不起作用
- jQuery克隆函数在chrome中不起作用
- jQuery place attr src在Chrome中不起作用
- chrome中的onmouseover(下拉选项标记)事件不起作用-php,javascript
- .ajax调用在chrome中不起作用
- Javascript/AAJAX在Opera中不起作用,在FF/IE/Chrome中完美工作
- 正在处理在chrome扩展中不起作用的js
- MediaSource API demo不起作用(Chrome)
- Chrome 中表格的 CSV 导出不起作用 - JavaScript/AngularJS
- $.getJSON 在 Chrome 和 Safari 中不起作用
- OnClick 事件在 Chrome 中不起作用
- getUserMedia 在 Chrome v50.0.2661.86 上不起作用
- dataTransfer.set拖放的数据在chrome中不起作用
- 简单的鼠标悬停在 Chrome 中不起作用
- window.close();在Chrome和Firefox中不起作用
- Chrome 扩展程序权限不起作用