jsはユーザのクリップボードにテキストをコピーする


ウェブサイトをプログラミングするときは、ユーザーのクリップボードにテキストをコピーする必要があります.それはコードの一部をコピーするかどうか、トークン(GiThubのように)、URL、または単にメッセージ.この記事では、バニラJavaScriptでユーザーのクリップボード内の任意のライブラリなしでテキストをコピーする方法が表示されます.

どのような方法を使うべきですか。


これを行うには、JavaScript関数を使用できます.execCommand() . しかし、MDN web docs , この関数はすぐに廃止され、Web標準から削除されます.だからこそ、このチュートリアルでは別のメソッドを使用します.Clipboard.writeText() .
この関数の構文はとても簡単です.
let variable = navigator.clipboard.writeText(your text);
まず、入力の内容をユーザーのクリップボードにコピーする方法を見ます.次に、より複雑な例が表示され、ユーザーがコピーできるコードがいくつかあります.

簡単な例


この例では、ユーザーは入力で希望するテキストを入力し、この目的のために提供されるボタンをクリックすることによってテキストをコピーすることができます.最初のステップは、任意のWebプロジェクトのように、HTMLを設定することです.我々のケースでは、それは非常に簡単です:入力と“コピー”ボタン.
<input type="text" id="textInput" placeholder="Your text">
<button id="copy" content=""  onclick="copyText(event)" ></button>
我々の将来のJavaScriptを予想して、我々は呼び出しますcopyText() 機能は、ユーザーが“コピー”ボタンをクリックします.
次に、JavaScriptを追加する必要があります.
// We select our input 
let input = document.getElementById("textInput");

// Copy the text of the input 
copyText = (e) => {
  // We check that the input is not empty 
  if (input.value.length) {
    // We copy the text it contains into the clipboard 
    navigator.clipboard.writeText(input.value).then(() => {
      // We confirm the action in the console 
      console.log("Text Copied !");
    })
  } else {
    console.log("The input is empty ");
  }
}
小さなCSSを少しだけ見てみると、次のようになります.
(いくつかのブラウザでは、「コピー」機能はCodepenのプレビューで無効になります.

もう少し複雑な例


この2番目の、より複雑な例では、我々は“コピー”ボタンをクリックしてユーザーのボタンを検出し、ボタンのIDを取得します(ボタンの数の前に文字を削除する).対応するコードブロックのテキストを取得します.次に、次の例のように、変数の内容を入れますtext ユーザーのクリップボードで.

もう少しで行く


しかし、それはすべてではない、我々は他の方法があるので、我々は少し行くことができますclipboard :
  • 例えば、ユーザのクリップボードの内容を(それらの許可を得て)取得することができますread() 方法
  • テキストを検索したいなら、readText() メソッド.
  • 同じ方法で画像をコピーできますwrite() 方法
  • 最後に、このチュートリアルで使用するメソッドを示します.writeText()
  • あなたが質問をするならば、このチュートリアルを楽しみました.👍
    あなたは私をサポートしたいですか?

    OR