Drag and Drop 图片从其他网站拖放到我的网站

阅读时长 5 分钟读完

在现代 Web 应用程序中,Drag and Drop 操作已经成为了一种非常常见的用户交互方式。通过鼠标拖放操作,用户可以将图片、文本等内容从一个应用程序拖放到另一个应用程序中。

本文将介绍如何使用 JavaScript 和 HTML5 中的 Drag and Drop API 实现拖放操作,并详细讲解如何将来自其他网站的图片拖放到我们的网站上。

实现基本 Drag and Drop 操作

首先,我们需要实现基本的 Drag and Drop 操作。下面是一个简单的示例代码:

-- -------------------- ---- -------
--------- -----
------
------
  ----------- --- ---- ---------------
  -------
    --------- -
      ------ ------
      ------- ------
      ------- --- ------ -----
    -
  --------
-------
------
  ---- ---------------------------

  --------
    --- -------- - ------------------------------------

    ------------------------------------- ----------- -
      ------------------- -- ---------
      ------------------------------ - ------- -- - -------- -----
    ---

    -------------------------------------- ----------- -
      ------------------------------ - --- -- ----
    ---

    --------------------------------- ----------- -
      ------------------- -- ---------
      ------------------------------ - --- -- ----
      --- --------- - ------------------------ -- ------
      --- -------- - ------------------------------- -- ---- ---
      --- --- - ------------------------------ -- -- ----- --
      ------- - --------- -- ------
      ------------------------------- -- ------ ----- --
    ---
  ---------
-------
-------
展开代码

在上面的示例代码中,我们创建了一个拖放区域 dropzone,当用户拖动一个文件到该区域时,会触发 dragoverdragleave 事件。我们使用 preventDefault() 阻止浏览器默认行为,并根据需要更改 dropzone 的样式以提供反馈。

最后,在 drop 事件处理程序中,我们获取了拖放文件的 URL,并将其添加到文档中作为 <img> 元素。

实现从其他网站拖放图片

要实现从其他网站拖放图片,我们需要做两件事情:

  1. 让我们的应用程序接受来自其他网站的图片;
  2. 将图片上传到我们的服务器或处理它。

接受来自其他网站的图片

首先,我们需要让我们的应用程序接受来自其他网站的图片。由于图片通常是通过链接而不是文件传递的,所以我们需要获取链接并将其转换为文件。下面是一个示例代码:

-- -------------------- ---- -------
--------- -----
------
------
  ----------- --- ---- ---------------
  -------
    --------- -
      ------ ------
      ------- ------
      ------- --- ------ -----
    -
  --------
-------
------
  ---- ---------------------------

  --------
    --- -------- - ------------------------------------

    ------------------------------------- ----------- -
      ------------------- -- ---------
      ------------------------------ - ------- -- - -------- -----
    ---

    -------------------------------------- ----------- -
      ------------------------------ - --- -- ----
    ---

    --------------------------------- ----------- -
      ------------------- -- ---------
      ------------------------------ - --- -- ----

      --- --------

- ----------------------------------------------------------- --------
----------------------------------------------------------------------------------
展开代码
纠错
反馈

纠错反馈