簡體   English   中英

從剪貼板復制並粘貼富文本到 mailto 正文

[英]Copy and Paste rich text to mailto body in react from clipboard

我有一個表,我希望用戶能夠通過 email 通過單擊復制並粘貼到郵件主題來發送此表。

這是代碼沙箱的現場演示: 復制和粘貼富文本

A function 從剪貼板復制並粘貼富文本到郵件正文

  const copyToClip = () => {
    let range = document.createRange();
    range.selectNodeContents(tableRef.current);
    let sel = window.getSelection();
    sel.removeAllRanges();
    sel.addRange(range);
    document.execCommand("Copy");
    sel.removeAllRanges();
    //paste the copied data to mailto body
    document.addEventListener("paste", function (event) {
      var clipText = event.clipboardData.getData("Text");
      window.location = `mailto:?subject=I wanted you to see this site&body=${clipText}`;
    });
  };

用戶單擊復制按鈕時的預期結果,它打開客戶端默認 email 並將表格傳遞到如下所示的正文。

在此處輸入圖像描述

注意:我可以將復制的數據作為字符串發送,但不能以富文本格式發送。

我需要做什么來解決問題?

改變:

var clipText = event.clipboardData.getData("Text");

var clipText = encodeURIComponent(event.clipboardData.getData("Text"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM