首页 > 解决方案 > 如何确定拖动是否在不同的浏览器选项卡中开始

问题描述

在这个例子中,

document.body.addEventListener("drop", function ($event) {

}

如果在不同的浏览器选项卡中开始拖动拖放的元素,如何从 $event 中找出?

标签: javascriptdrag-and-drop

解决方案


除非您拥有两个选项卡中的代码,否则这是不可能的。您可以使用window.postmessage. 我相信您还需要使用 JavaScript 打开从第一个选项卡开始的第二个选项卡,以开始与window.open.

https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

在 drop 事件中,您将postmessage转到另一个窗口。该窗口必须正在侦听此类事件。

您的另一个选择是再次拥有两个选项卡中的代码,您可以通过网络/后端发送消息。我在 VR 游戏中做到了这一点,其中两个客户端与相同的对象进行交互,但在你的情况下,这两个客户端将是同一个客户端。


推荐阅读