クリップボードの内容(テキストや画像)を消去する方法を解説します。
セキュリティ上の理由でコピー履歴を削除したい場合などに使用します。
前提条件
プラグインのインストールが必要です。
npm run tauri add clipboard-manager
Permissions (権限) の設定
src-tauri/capabilities/default.json に以下の権限を追加します。
{
"permissions": [
"clipboard-manager:default",
"clipboard-manager:allow-clear",
...
]
}
1. フロントエンドから作成する (TypeScript)
@tauri-apps/plugin-clipboard-manager の clear() 関数を呼び出すだけで、テキスト・画像を含むクリップボードの内容がクリアされます。
1. クリップボードの消去
import { clear } from '@tauri-apps/plugin-clipboard-manager';
async function clearClipboard() {
try {
await clear();
console.log('クリップボードをクリアしました');
} catch (error) {
console.error('クリアに失敗しました', error);
}
}
2. バックエンドから作成する (Rust)
Rust 側でも tauri_plugin_clipboard_manager::ClipboardExt を使用してクリップボードをクリアできます。
Rust 実装
use tauri::command;
use tauri_plugin_clipboard_manager::ClipboardExt;
#[command]
fn clear_clipboard_from_rust(app: tauri::AppHandle) -> Result<(), String> {
app.clipboard()
.clear()
.map_err(|e| e.to_string())
}
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.plugin(tauri_plugin_clipboard_manager::init())
.invoke_handler(tauri::generate_handler![clear_clipboard_from_rust])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
フロントエンドからの呼び出し
import { invoke } from '@tauri-apps/api/core';
invoke('clear_clipboard_from_rust')
.then(() => console.log('Clipboard cleared from Rust!'))
.catch(console.error);