JavaScript クリップボードの使用法の詳細な説明

JavaScript クリップボードの使用法の詳細な説明

(1)はじめに:

clipboard.js は、テキストをクリップボードにコピーする機能を実装する軽量の JavaScript プラグインです。このプラグインは、入力ボックス、テキストフィールド、DIV要素内のテキストなどのテキストコンテンツをクリップボードにコピーできます。
clipboard.js は、主流のブラウザをサポートしています: Chrome 42+、Firefox 41+、IE 9+、Opera 29+、Safari 10+。

(2)クリップボードの内容をコピーする方法は次のとおりです。

  1. ターゲットからターゲットコンテンツをコピーする
  2. 関数によってコピーされるコンテンツ
  3. 属性を通じてコピーされたコンテンツを返す

target はターゲット コンテンツをコピーしますが、ここでは説明しません。関数と属性の操作についてのみ説明します。

(3)関数演算には2種類ある。

最初のもの:

ターゲット関数はコンテンツをコピーします。ターゲットはコピーするノードを指定します。ここでは、戻り値は 'hello' です。

   <button class="btn">Copy_target</button>
   <div>こんにちは</div>

   <スクリプト>
   var クリップボード = 新しいクリップボード('.btn', {
   // ターゲットを通じてコピーするノードを指定する target: function() {
                  document.querySelector('div') を返します。
             }
   });

   clipboard.on('成功', 関数(e) {
       コンソールログ(e);
   });

   clipboard.on('エラー', 関数(e) {
       コンソールログ(e);
   });
   </スクリプト>

2番目のタイプ:

テキスト機能を使用してコンテンツをコピーする
テキスト関数によって指定されたコピーコンテンツは、ここでは「to be or not to be」を返します。

<button class="btn">コピー</button>
<スクリプト>
   var クリップボード = 新しいクリップボード('.btn', {
   // コピーボタンをクリックし、コピーした内容をテキストで直接返します text: function() {
           「存在するか、存在しないか」を返します。
       }
   });

   clipboard.on('成功', 関数(e) {
       コンソールログ(e);
   });

   clipboard.on('エラー', 関数(e) {
       コンソールログ(e);
});

(4)コピーしたコンテンツを属性を通じて返す

タイプ 1: 単一ノード

ノード オブジェクトを ID で指定し、それをパラメーターとしてクリップボードに送信します。ここでの戻り値はdata-clipboard-textの内容です

// ID で data-clipboard-text の内容を取得します <div id="btn" data-clipboard-text="1">
        <span>コピー</span>
</div>
 
<スクリプト>
    var btn = document.getElementById('btn');
    var クリップボード = 新しいクリップボード(btn);
 
    clipboard.on('成功', 関数(e) {
        コンソールログ(e);
    });
 
    clipboard.on('エラー', 関数(e) {
        コンソールログ(e);
    });
</スクリプト>

2番目: マルチノード

クラスを通じてすべてのボタンを取得し、パラメーターとしてクリップボードに送信します。各ボタンをクリックすると、対応するデータ クリップボード テキストの内容がそれぞれ 1、2、3 として返されます。

// クラスを通じて複数のボタンを登録し、data-clipboard-text の値を取得します <button class="btn" data-clipboard-text="1">Copy</button>
    <button class="btn" data-clipboard-text="2">コピー</button>
    <button class="btn" data-clipboard-text="3">コピー</button>
 <スクリプト>
    var クリップボード = 新しいクリップボード('.btn');
 
    clipboard.on('成功', 関数(e) {
        コンソールログ(e);
    });
 
    clipboard.on('エラー', 関数(e) {
        コンソールログ(e);
    });
    </スクリプト>

(5)機能と属性の互換性

関数:

//ClipboardJS.isSupported() //--------この文は: 互換性がありますか? var clipboard = new Clipboard('.btn');
// 正常なダウングレード: Safari のバージョン番号が 10 以上の場合、コピーが成功したことを示すプロンプトが表示されます。それ以外の場合は、テキストを選択した後、手動で「コピー」を選択してコピーする必要があることを示すプロンプトが表示されます。clipboard.on('success', function(e) {
    alert('コピー成功!')
    e.clearSelection();
});
clipboard.on('エラー', 関数(e) {
    alert('コピーするには「コピー」を選択してください!')
// 警告を削除しようとすると、システムの「コピー」ツールがポップアップすることがありますが、ポップアップするにはボタンを 2 回クリックする必要があります。具体的な理由は不明です。上の画像を参照してください。 iOS は単純に on イベントをサポートしていないため、トリガーの場所に空のクリック イベント ( οnclick="" ) を書き込んでみることができると言う人もいます}); 

財産:

<画像
   src="../../../../assets/images/zuop_award/copy_link.png"
      @click="コピー"
      データクリップボードアクション="コピー"
      クラス="メール"
      :data-clipboard-text="'[email protected]'"
    /> 

-------------------
  コピー() {
     var クリップボード = 新しいクリップボード(".email")
     // console.log(クリップボード);
     clipboard.on("成功", e => {
       // console.log("コピー成功", e);
       トースト({
         メッセージ: 「コピー成功」
       })
       // メモリを解放する clipboard.destroy()
     })
     clipboard.on("エラー", e => {
       // Toast({のコピーはサポートされていません
         メッセージ: 「携帯電話の権限ではコピー機能はサポートされていません」
       })
       console.log("このブラウザは自動コピーをサポートしていません")
       // メモリを解放する clipboard.destroy()
     })
   }

JavaScript クリップボードの詳しい使い方については、これで終わりです。JavaScript クリップボードに関するより詳しい内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JS でクリップボード API を使用する方法
  • コードブロックのハイライトをコピーして表示できる js プラグイン highlight.js + clipboard.js 統合
  • Vue は Clipboard.JS を使用して h5 ページのコンテンツ例をコピーします。
  • Vue で clipboard.js を使用してワンクリックでテキストをコピーする例
  • JSプラグインclipboard.jsはワンクリックのコピー&ペースト機能を実現します
  • モバイル端末でのclipboard.jsのコピー失敗の解決策
  • clipboard.js を使用してコピー機能を実装するサンプルコード
  • ZeroClipboard.jsは1つのフラッシュを使用して複数のテキストボックスをコピーします

<<:  MySqlはページクエリ機能を実装します

>>:  Dockerイメージ内のファイルを表示する方法

推薦する

Dockerコンテナの操作手順の概要と詳細説明

1. コンテナを作成して実行するdocker run -it --rm centos:latest ...

Node.js における npx コマンドの使用法とシナリオ分析

npx 使用チュートリアル今晩、 Vue-Cli勉強していたところ、ふと最新の@4.xxバージョンを...

Ubuntu 14 に Nginx-RTMP ストリーミング サーバーをインストールするチュートリアル

1. RTMP RTMP ストリーミング プロトコルは、Adobe が開発したリアルタイムのオーディ...

MySQL データベース開発の 36 の原則 (要約)

序文これらの原則は実際の戦闘から要約されています。あらゆる原則の背後には血なまぐさい教訓があるこれら...

VUE uni-app でよく使用される API についての簡単な説明

目次1. ルーティングとページジャンプ2. インターフェース要約する1. ルーティングとページジャン...

Kubernetes を使用して Springboot または Nginx をデプロイするための詳細なチュートリアル

1 はじめに「Maven がワンクリックで Springboot を Docker リポジトリにデプ...

【Webデザイン】E-WebTemplates の美しい海外の Web ページ テンプレート (FLASH+PSD ソース ファイル+HTML) を共有します

これらはすべて海外のE-WebTemplates WebサイトからのWebページテンプレートであり、...

VMware Workstation Pro 16 グラフィックチュートリアル (CentOS8 仮想マシン クラスタの構築)

目次準備VMware Workstation Pro 16 をインストールするLinux仮想マシンの...

Linux でのソース パッケージ インストールのサービス管理

目次1. ソースパッケージサービスの起動管理2. ソースパッケージサービスのセルフスタート管理3. ...

MySQL 空間データストレージと関数

目次1. データ型1. MySQL空間データとは何か2. GeoJSONとは3. 空間データ型のフォ...

MySQL ログイン警告問題の解決策

1. はじめにMySQL にログインすると、次のような警告が表示されることがよくあります。警告: コ...

MySQL インデックスの効率的な使用ガイド

序文ほとんどの方がMySQLとインデックスを使用したことがあると思いますが、適切なインデックスを作成...

MySQL における EXISTS と IN の使用法の比較

1. 使用法: (1)EXISTSの使用 ucsc_project_batch a から、存在する場...

ウェブページのテーブルの境界線を設定する方法

<br />前回は、Web テーブルにセルの線を設定する方法を学びました。今日は、Web...

Vue がルート変更を監視するときに watch メソッドが複数回実行される理由と解決策

目次要件の説明:要件分析:ニーズの解決問題解決私はフロントエンドの新人ですが、バックエンドのバグの中...