html drag api 在firefox 下 拖动出现新窗口的解决办法
有个功能,需要用drag drop api 来做。
发现在firefox下拖放,会出现新的tab 页签,即使在ondragover、ondrop中使用了event.preventDefault也无济于事,在mozllia上MDN的例子拖动也会弹出新的tab 页签。
随后发现有同事写的drag drop 在firefox下不会弹出,遂研究起来,发现用的dataTransfer.setData("asdf",""),同事只是用了drag drop的效果,没有用dataTransfer。我就复制过来在例子中使用,发现,不会弹出新窗口了。
然后再把setData的key 设置为text,tab 页签继续弹出。
原因:
估计是firefox把text设置为了关键字,触发了text就默认打开新窗口,禁用浏览器默认功能也没用。
解决:
把setdata的关键字设置除了text以外的任意字段即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步