在介绍了 Apple 地图 的联动后,今天我们将介绍如何通过 Protocol Launcher 优雅地唤起 Microsoft Edge 浏览器,让网页打开变得更加简单。
作为开发者,你可能经常遇到这些场景:
- 在 Electron 应用中点击链接,希望在用户默认的 Edge 浏览器中打开。
- 从命令行工具生成一个链接,点击后直接在 Edge 中跳转到指定页面。
- 在内部系统中提供一个按钮,快速在 Edge 中打开外部 URL。
现在,通过 Protocol Launcher ,你可以用类型安全的方式生成 microsoft-edge: 协议链接,无需手动拼接。
Microsoft Edge 与深度链接
Microsoft Edge 是微软基于 Chromium 开发的现代浏览器。它支持通过 microsoft-edge: 协议从其他应用中唤起并打开指定 URL。
然而,手动拼接这些协议链接需要记住正确的格式(如 microsoft-edge: 和 microsoft-edge:?url= 的区别),且缺乏类型提示,容易出错。
核心能力:简洁的浏览器唤起
Protocol Launcher 为 Microsoft Edge 提供了 protocol-launcher/microsoft-edge 模块,支持以下核心功能:
- 直接打开浏览器:无需参数,一键唤起 Edge。
- 打开指定 URL:在 Edge 中打开任意网页地址。
- 类型安全:TypeScript 类型定义确保参数正确。
快速上手
首先,确保你的项目中已安装:
bash
npm install protocol-launcher
在代码中你可以根据场景选择两种导入方式:
- 按需加载(通过子路径导入),支持 Tree Shaking,体积更小;
- 全量导入(从根包导入),写法更简单,但会引入所有已支持应用的逻辑。
typescript
// ✅ 推荐:按需加载 Microsoft Edge 模块
import { open, openUrl } from 'protocol-launcher/microsoft-edge'
// 也可以从根包导入,但会包含所有应用模块
// import { microsoftEdge } from 'protocol-launcher'
场景一:直接打开浏览器 (open)
如果你只是想唤起 Edge 浏览器(不打开特定页面):
typescript
import { open } from 'protocol-launcher/microsoft-edge'
const url = open()
// => 'microsoft-edge:'
这个简单的调用会生成 microsoft-edge: 协议链接,点击后将直接打开 Edge 浏览器的新标签页或主页。
场景二:打开指定 URL (openUrl)
如果你想在 Edge 中打开特定的网页:
typescript
import { openUrl } from 'protocol-launcher/microsoft-edge'
const url = openUrl({
url: 'https://www.google.com/',
})
// => 'microsoft-edge:?url=https://www.google.com/'
这个调用会生成完整的协议链接,点击后 Edge 将直接跳转到指定的 URL。
实战演示
在 Electron 应用中使用
假设你正在开发一个 Electron 应用,希望用户在点击链接时用 Edge 打开:
typescript
import { openUrl } from 'protocol-launcher/microsoft-edge'
import { shell } from 'electron'
function openInEdge(url: string) {
const edgeUrl = openUrl({ url })
shell.openExternal(edgeUrl)
}
// 使用示例
openInEdge('https://github.com/zhensherlock/protocol-launcher')
在命令行工具中使用
如果你开发了一个 CLI 工具,想让用户快速在 Edge 中查看文档:
typescript
import { openUrl } from 'protocol-launcher/microsoft-edge'
import { exec } from 'child_process'
function openDocs() {
const edgeUrl = openUrl({ url: 'https://protocol-launcher.huayi-data.com/' })
exec(`open "${edgeUrl}"`) // macOS
// exec(`start "${edgeUrl}"`) // Windows
}
为什么选择 Protocol Launcher?
- 类型安全与参数提示:TypeScript 的智能补全会确保你提供了正确的参数,避免拼写错误。
- 一致的 API 设计:所有应用的协议生成都遵循相同的模式,学习成本低。
- 极简的按需加载 (Tree Shaking) :采用了模块化设计,支持按需加载以最小化包体积:
- 推荐方式 :使用子路径导入(如
import { openUrl } from 'protocol-launcher/microsoft-edge'),这样构建工具只会打包相关的代码。 - 全量方式 :也可以从根包导入(如
import { microsoftEdge } from 'protocol-launcher'),建议生产环境始终使用按需加载。
- 推荐方式 :使用子路径导入(如
- 跨平台兼容:生成的协议链接在所有支持 Edge 的平台上都能正常工作。
结语
通过 Protocol Launcher,你可以用优雅的类型安全方式唤起 Microsoft Edge 浏览器。无论是桌面应用、命令行工具还是 Web 应用,它都是连接你的程序与 Edge 浏览器的最佳桥梁。
🔗 相关链接
- Protocol Launcher 官网:https://protocol-launcher.huayi-data.com/
- Microsoft Edge 模块文档:Microsoft Edge | Protocol Launcher