gpt4 book ai didi

javascript - 拖放的 dataTransfer.setData 在 chrome 中不起作用?

转载 作者:太空狗 更新时间:2023-10-29 15:36:01 25 4
gpt4 key购买 nike

<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>

fiddle :

http://jsfiddle.net/vwjCa/

http://jsfiddle.net/vwjCa/2/ (此处自定义类型而不是文本)

在 firefox 中打印:

222 attr
222 dt

在 Chrome 打印中:

222 attr
dt

问题出在哪里?提前致谢

最佳答案

对自己的回答:

显然 chrome 允许读取 dataTransfer 的数据仅在放置事件中

这是出于安全原因

例如,如果我在远程页面上“拖过”信用卡号,除非我没有“拖放”,否则这个页面不应该能够读取我的数据

firefox 做同样的事情,但如果事件的“域”相同则允许读取 getData()

关于javascript - 拖放的 dataTransfer.setData 在 chrome 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11974077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com