1. 程式人生 > 實用技巧 >專案js java 實現自動複製貼上 親測有效

專案js java 實現自動複製貼上 親測有效

專案js java 實現自動複製貼上 親測有效

專案中有需求 — 點選按鈕時觸發事件 —把內容自動複製到剪下板 — 貼上給好友

查了很多資料 下面兩種方法 親測有效 :

第一種:前臺 純js程式碼實現
(可以實現前後端分離 伺服器端剪下板)

var aux = document.createElement("input"); 
aux.setAttribute("value", 這裡寫想要複製的值); 
document.body.appendChild(aux); 
aux.select();
document.execCommand("copy"); 
document.body.removeChild(aux);                        
alert(
"複製成功!");

第二種:後臺 用Java Clipboard 實現
(注意:只能針對本地剪下板)

package common.util;

import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;

public class ClipboardUtil {
    
public static void main(String[] args) throws InterruptedException { //測試 } /** * 把文字設定到剪貼簿(複製) */ public static void SaveClipboardString(String text) { StringSelection stsel = new StringSelection(text); Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stsel, stsel); }
/** * 把文字設定到剪貼簿(複製) */ public static void setClipboardString(String text) { // 獲取系統剪貼簿 Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); // 封裝文字內容 Transferable trans = new StringSelection(text); // 把文字內容設定到系統剪貼簿 clipboard.setContents(trans, null); } /** * 從剪貼簿中獲取文字(貼上) */ public static String getClipboardString() { // 獲取系統剪貼簿 Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); // 獲取剪貼簿中的內容 Transferable trans = clipboard.getContents(null); if (trans != null) { // 判斷剪貼簿中的內容是否支援文字 if (trans.isDataFlavorSupported(DataFlavor.stringFlavor)) { try { // 獲取剪貼簿中的文字內容 String text = (String) trans.getTransferData(DataFlavor.stringFlavor); return text; } catch (Exception e) { e.printStackTrace(); } } } return null; } }

之後去前臺呼叫 SaveClipboardString 方法即可!