寫入和讀取剪切板內容

来源:https://www.cnblogs.com/cry0-0/p/18086370
-Advertisement-
Play Games

寫入剪切板 使用 clipboard.js 第三方插件: clipboard.js 安裝clipboard.js yarn yarn add clipboard npm npm install clipboard --save 使用示例(vue) <template> <div> <span v-c ...


寫入剪切板

使用 clipboard.js 第三方插件:

clipboard.js

安裝clipboard.js

yarn

yarn add clipboard

npm

npm install clipboard --save

使用示例(vue)

<template>
	<div>
	  <span v-copy>複製這段文本</span>
    </div>
</template>

<script>
import ClipboardJS from "clipboard";

export default {
	directives: {
		copy: {
		  bind(el, binding, vnode) {
		    // 獲取vue實例
		    const that = vnode.context;
		    // 1-監聽點擊的元素
		    that.handleCopy(el);
		  },
		}
	},
	methods: {
		handleCopy(element) {
          // 2-實例化剪切板對象,指定要複製文本的元素
          const clipboard = new ClipboardJS(element, {
            /**
             * 動態獲取要複製的文案
             * @param {HTMLElement} trigger 監聽點擊的元素
             * @return {string} 要複製的文案
             */
            text: function(trigger) {
              return trigger.innerText;
            }
          });
          // 3-結果回調
          clipboard.on('success', function(e) {
            console.info('e= :', e);

            // 清除文字的選中狀態
            e.clearSelection();
          });

          clipboard.on('error', function(e) {
            console.error('Action:', e.action);
            console.error('Trigger:', e.trigger);
          });
        },
	}
}
</script>

這裡使用了vue的自定義指令,

  • 指令第一次綁定到元素時,監聽元素的點擊(複製)事件。
  • 點擊元素時,執行text函數,並將結果(字元串)寫入剪切板。
  • 寫入成功,執行success回調函數;寫入失敗,執行error回調函數。

原生API

可以使用原生API:Clipboard.writeText()實現寫入剪切板。

var promise = navigator.clipboard.writeText(newClipText)
  • newClipText:寫入的內容

其它API

  • Clipboard: write():該方法理論上可以寫入任意數據(與writeText()不同,後者只能寫入文本)。瀏覽器通常支持編寫文本、HTML和PNG圖像數據

讀取剪切板

<template>
	<div>
	  <p @click="getClipboard">讀取剪切板</p>
	  <p>{{ content }}</p>
    </div>
</template>

<script>
export default {
	data() {
		return {
			content: '',
		}
	},
	methods: {
		async getClipboard() {
          // 讀取剪切板
          const clipboardContent = await navigator.clipboard.readText();
          this.content = clipboardContent;
        },
	}
}
</script>

使用原生API:Clipboard.readText() 即可。

其它API

  • Clipboard: read() :該方法理論上可以返回任意數據與readText()不同,後者只能返迴文本)。瀏覽器通常支持讀取文本、HTML和PNG圖像數據

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 近年來,新質生產力、數據要素及數據資產入表等新興概念猶如一股強勁的浪潮,持續衝擊並革新著企業數字化轉型的觀念視野,昭示著一個以數據為核心驅動力的新時代正穩步啟幕。 面對這些引領經濟轉型的新興概念,為了更好地服務於客戶並提供切實可行的實踐指導,自3月20日起,袋鼠雲將推出全新《袋鼠雲大數據實操指南》系 ...
  • 本文分享自華為雲社區《GaussDB(分散式)實例故障處理》,作者:subverter。 一、說明 GaussDB Kernel實例出現故障時,可以按照本節的辦法進行實例快速修複。 1、執行gs_om -t status --detail查看集群狀態,cluster_state為Normal,bal ...
  • 近日,以“行業更優數據底座,華為雲資料庫創新發展論壇”為主題的資料庫分論壇,通過對雲原生資料庫的發展與展望、技術實踐分享與研討,共同探索行業數字化轉型最優解。 ...
  • Android 逆向(四) - adb常用逆向命令 本篇文章繼續記錄下adb 的一些常用逆向命令. 1: adb shell ps 該命令可以查看進程信息. 用法: adb shell ps |grep [pname] zh@zh:~/workSpace$ adb shell ps USER PID ...
  • linux 入門(四) 1: 文件夾下所有文件的大小和詳細信息 du -h --max-depth=1 | sort -hr du命令可以查看文件夾(文件)占用的磁碟大小 ls命令可以查看文件的詳細信息,包括文件大小。 該命令可以按照文件夾(文件)大小的降序排列,並以易讀的方式顯示文件夾(文件)大小 ...
  • 一.引言 在當前的移動開發生態中,跨平臺框架如uni-app因其高效、靈活的特點受到了開發者們的青睞。同時,隨著物聯網技術的飛速發展,智能列印設備已成為許多業務場景中不可或缺的一環。今天,我們就來探討如何使用uni-app輕鬆對接馳騰品牌的智能印表機,實現無線列印功能。無論您是初學者還是有經驗的開發 ...
  • 我們是袋鼠雲數棧 UED 團隊,致力於打造優秀的一站式數據中台產品。我們始終保持工匠精神,探索前端道路,為社區積累並傳播經驗價值。 本文作者:霜序 本文首發於:https://juejin.cn/post/7299384698882539574 在大數據業務中,時常會出現且或關係邏輯的拼接,有需要做 ...
  • 專註探討UUID的核心原理及其生成機制,並詳細介紹不同版本UUID(如版本1的時間戳+節點ID、版本4的隨機數生成等)背後的數學原理和技術細節。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...