Skip to content
Tauri 中文网

打开器

此插件允许你在指定或默认的应用中打开文件和 URL。它还支持系统文件资源管理器中的 “revealing” 文件。

¥This plugin allows you to open files and URLs in a specified, or the default, application. It also supports “revealing” files in the system’s file explorer.

支持的平台

¥Supported Platforms

This plugin requires a Rust version of at least 1.77.2

Platform Level Notes
windows
linux
macos
android

Only allows to open URLs via open

ios

Only allows to open URLs via open

设置

¥Setup

安装 opener 插件即可开始使用。

¥Install the opener plugin to get started.

使用项目的包管理器添加依赖:

¥Use your project’s package manager to add the dependency:

npm run tauri add opener

使用

¥Usage

Opener 插件支持 JavaScript 和 Rust 语言。

¥The opener plugin is available in both JavaScript and Rust.

import { openPath } from '@tauri-apps/plugin-opener';
// when using `"withGlobalTauri": true`, you may use
// const { openPath } = window.__TAURI__.opener;
// opens a file using the default program:
await openPath('/path/to/file');
// opens a file using `vlc` command on Windows:
await openPath('C:/path/to/file', 'vlc');

权限

¥Permissions

默认情况下,所有潜在危险的插件命令和范围都会被阻止,无法访问。你必须修改 capabilities 配置中的权限才能启用这些权限。

¥By default all potentially dangerous plugin commands and scopes are blocked and cannot be accessed. You must modify the permissions in your capabilities configuration to enable these.

有关更详细的说明,请参阅 功能概述

¥See the Capabilities Overview for more information and the step by step guide to use plugin permissions.

以下是两个示例作用域配置。pathurl 都使用 通配符模式语法 来定义允许的文件路径和 URL。

¥Below are two example scope configurations. Both path and url use the glob pattern syntax to define allowed file paths and URLs.

首先,我们来举一个如何为 openPath() 函数添加特定路径权限的示例:

¥First, an example on how to add permissions to specific paths for the openPath() function:

src-tauri/capabilities/default.json
{
"$schema": "../gen/schemas/desktop-schema.json",
"identifier": "main-capability",
"description": "Capability for the main window",
"windows": ["main"],
"permissions": [
{
"identifier": "opener:allow-open-path",
"allow": [
{
"path": "/path/to/file"
},
{
"path": "$APPDATA/file"
}
]
}
]
}

最后,举个例子,说明如何为 openUrl() 函数添加精确的 https://tauri.nodejs.cn URL 以及自定义协议(操作系统必须知道)上的所有 URL 的权限:

¥Lastly, an example on how to add permissions for the exact https://tauri.nodejs.cn URL and all URLs on a custom protocol (must be known to the OS) for the openUrl() function:

src-tauri/capabilities/default.json
{
"$schema": "../gen/schemas/desktop-schema.json",
"identifier": "main-capability",
"description": "Capability for the main window",
"windows": ["main"],
"permissions": [
{
"identifier": "opener:allow-open-url",
"allow": [
{
"url": "https://tauri.nodejs.cn"
},
{
"url": "custom:*"
}
}
]
}

Default Permission

This permission set allows opening mailto:, tel:, https:// and http:// urls using their default application as well as reveal file in directories using default file explorer

This default permission set includes the following:

  • allow-open-url
  • allow-reveal-item-in-dir
  • allow-default-urls

Permission Table

Identifier Description

opener:allow-default-urls

This enables opening mailto:, tel:, https:// and http:// urls using their default application.

opener:allow-open-path

Enables the open_path command without any pre-configured scope.

opener:deny-open-path

Denies the open_path command without any pre-configured scope.

opener:allow-open-url

Enables the open_url command without any pre-configured scope.

opener:deny-open-url

Denies the open_url command without any pre-configured scope.

opener:allow-reveal-item-in-dir

Enables the reveal_item_in_dir command without any pre-configured scope.

opener:deny-reveal-item-in-dir

Denies the reveal_item_in_dir command without any pre-configured scope.


Tauri v2.6 中文网 - 粤ICP备13048890号
Nodejs.cn 旗下网站