#tauri-plugin #tauri #plugin

sys tauri-plugin-prevent-default

禁用默认的 webview 快捷键

17 个不稳定版本 (3 个重大更新)

0.4.0 2024 年 8 月 22 日
0.3.0 2024 年 8 月 1 日
0.2.1 2024 年 7 月 28 日
0.1.12 2024 年 7 月 22 日

#464GUI

Download history 667/week @ 2024-07-01 123/week @ 2024-07-08 86/week @ 2024-07-15 433/week @ 2024-07-22 220/week @ 2024-07-29 41/week @ 2024-08-05 8/week @ 2024-08-12

每月 776 次下载

MIT 许可证

33KB
709

tauri-plugin-prevent-default

禁用 Tauri 应用中的默认浏览器快捷键,例如 F3Ctrl+J

安装

通过将以下内容添加到您的 Cargo.toml 文件中安装插件

[dependencies]
tauri-plugin-prevent-default = 0.4

如果使用自定义监听器,您还必须启用所需的权限

src-tauri/capabilities/prevent-default.json

{
  "identifier": "prevent-default",
  "windows": ["*"],
  "permissions": ["prevent-default:default"]
}

用法

使用 Tauri 注册插件

src-tauri/src/main.rs

tauri::Builder::default()
  .plugin(tauri_plugin_prevent_default::init())
  .run(tauri::generate_context!())
  .expect("error while running tauri application");

您也可以使用标志来指定插件应禁用哪些快捷键。默认情况下,它将禁用所有快捷键。

use tauri_plugin_prevent_default::Flags;

let prevent = tauri_plugin_prevent_default::Builder::new()
  .with_flags(Flags::CONTEXT_MENU | Flags::PRINT | Flags::DOWNLOADS)
  .build();

tauri::Builder::default()
  .plugin(prevent)
  .run(tauri::generate_context!())
  .expect("error while running tauri application");

禁用所有但少数

use tauri_plugin_prevent_default::Flags;

// This will disable all shortcuts, except `FIND` and `RELOAD`.
tauri_plugin_prevent_default::Builder::new()
  .with_flags(Flags::all().difference(Flags::FIND | Flags::RELOAD))
  .build()

仅禁用键盘快捷键

use tauri_plugin_prevent_default::Flags;

tauri_plugin_prevent_default::Builder::new()
  .with_flags(Flags::keyboard())
  .build()

禁用自定义快捷键

use tauri_plugin_prevent_default::KeyboardShortcut;
use tauri_plugin_prevent_default::ModifierKey::{CtrlKey, ShiftKey};

tauri_plugin_prevent_default::Builder::new()
  .shortcut(KeyboardShortcut::new("F12"))
  .shortcut(KeyboardShortcut::with_modifiers("E", &[CtrlKey, ShiftKey]))
  .build();

仅在开发模式下启用某些快捷键

fn main() {
  tauri::Builder::default()
    .plugin(prevent_default())
    .run(tauri::generate_context!())
    .expect("error while running tauri application");
}

#[cfg(debug_assertions)]
fn prevent_default() -> tauri::plugin::TauriPlugin<tauri::Wry> {
  use tauri_plugin_prevent_default::Flags;

  tauri_plugin_prevent_default::Builder::new()
    .with_flags(Flags::all().difference(Flags::DEV_TOOLS | Flags::RELOAD))
    .build()
}

#[cfg(not(debug_assertions))]
fn prevent_default() -> tauri::plugin::TauriPlugin<tauri::Wry> {
  tauri_plugin_prevent_default::Builder::new().build()
}

注意

该插件应在 Windows 上正常工作,但还需要在 MacOS 和 Linux 上进行测试。如果在这些平台上遇到任何问题,请 提交问题

支持的 Tauri 版本

此插件需要 Tauri 2.0.0-rc 或更高版本。

依赖项

~17–61MB
~897K SLoC