我想在非默认浏览器中打开来自 Thunderbird 的链接。
我碰到这此处有旧帖子,但即使将network.protocol-handler.warn-external.http
AND设置network.protocol-handler.warn-external.https
为 true,Thunderbird 也不会提示使用浏览器,而是使用默认浏览器
答案1
做这个 :
- 打开 Thunderbird 菜单工具 > 设置
- 定位到常规部分
- 在“文件和附件”下,向下滚动并找到“默认浏览器 HTML 文档”
- 点击下拉标记并选择“始终询问”。
答案2
更新后的说明如下:
使用后配置编辑器设置network.protocol-handler.warn-external.http
并network.protocol-handler.warn-external.https
真的,然后您必须单击电子邮件中的 http 和 https 超链接。
之后,转到“工具”>“设置”>向下滚动到“文件和附件”,您将看到“http”和“https”的两个新条目。单击“操作”列中的相应下拉菜单,然后选择“使用其他...”>然后单击“浏览...”按钮并导航到您要使用的 Web 浏览器的 .exe。例如,Microsoft Edge 位于C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
。
如果您想撤消此更改,可以从“操作”列中选择再次使用操作系统设置的默认浏览器 - 旁边会有“(默认)”。或者,您可以通过删除“http”和“https”操作并撤消配置编辑器修改来撤消所有更改。
答案3
当然可以!下面是使用 C# 和 Python 解决方案从 Thunderbird 打开具有特定配置文件的 Firefox 的简明描述和说明。虽然这是一种解决方法,但对我来说效果很好。这些描述旨在指导人们如何使用任一编程语言创建一个小应用程序来完成此任务。
最后,选择您创建的 .exe 而不是浏览器,然后使用您的配置文件启动浏览器。
C# 解决方案
使用 C# 从 Thunderbird 使用特定配置文件打开 Firefox
如果您希望使用 Thunderbird 中的特定配置文件打开 Firefox,一种有效的方法是创建一个充当中介的小型 C# 控制台应用程序 (.exe)。此应用程序将接收 URL 作为参数,并使用所需的配置文件启动 Firefox 以打开该 URL。您可以按照以下方法进行设置:
在 Visual Studio 中创建控制台应用程序:启动一个新项目并选择“控制台应用程序”作为项目类型。根据您的要求选择 .NET Core 或 .NET Framework。
替换 Program.cs 中的代码:在 Program.cs 文件中使用以下 C# 代码片段。此代码检查 URL 参数,如果存在,则使用指定的配置文件和 URL 启动 Firefox。
使用系统;使用System.Diagnostics;
class Program
{
static void Main(string[] args)
{
string firefoxPath = @"C:\Program Files\Mozilla Firefox\firefox.exe";
string profilePath = @"N:\FIREFOX_PROFILE";
string url = args.Length > 0 ? args[0] : "";
if (!string.IsNullOrEmpty(url))
{
Process.Start(firefoxPath, $"-profile \"{profilePath}\" {url}");
}
else
{
Console.WriteLine("No URL provided.");
}
}
}
相应地调整路径:确保用实际的 Firefox 可执行文件和配置文件路径替换 firefoxPath 和 profilePath。
编译并使用:编译您的项目以生成可执行文件。然后,您可以配置 Thunderbird 或您的操作系统以将此可执行文件用作默认浏览器,从而允许使用指定配置文件在 Firefox 中打开链接。
Python 解决方案
使用 Python 从 Thunderbird 使用特定配置文件打开 Firefox
对于喜欢 Python 的用户,您可以通过创建一个小型 Python 脚本来实现相同的功能。此脚本还可充当中介,在从 Thunderbird 打开 URL 时使用给定的配置文件启动 Firefox。以下是分步指南:
编写 Python 脚本:将以下代码保存为 open_firefox_with_profile.py。此脚本接受 URL 作为命令行参数,并使用指定的配置文件启动 Firefox 以打开该 URL。
import sys
import subprocess
firefox_path = "C:\\Program Files\\Mozilla Firefox\\firefox.exe"
profile_path = "N:\\FIREFOX_PROFILE"
url = sys.argv[1] if len(sys.argv) > 1 else None
if url:
subprocess.run([firefox_path, "-profile", profile_path, url])
else:
print("No URL provided.")
调整路径:确保脚本中的 firefox_path 和 profile_path 与系统上的路径匹配。
使脚本可执行:根据您的操作系统,您可能需要使脚本直接可执行。在 Windows 上,您可以使用 PyInstaller 等工具将此脚本转换为可执行文件 (.exe)。
与 Thunderbird 集成:配置 Thunderbird 或您的系统以使用此脚本(或其编译的可执行形式)作为默认浏览器。这允许使用所需的配置文件在 Firefox 中打开链接。
这两种解决方案都需要调整系统或 Thunderbird 设置,以使用新的可执行文件或脚本作为打开链接的默认方法。这样您就可以使用指定的配置文件在 Firefox 中打开来自 Thunderbird 的链接,从而增强您的工作流程和浏览器组织。
附录:必须对 http 和 https 进行此设置。我在 Thunderbird 设置中找不到 http 设置,因此我不得不在 Thunderbird 配置文件文件夹 (%appdata%\Thunderbird\profiles\{yourprofile}\handlers.json)。
不幸的是,JSON 是压缩的,难以阅读(没有换行符、空格等)。为此,我使用了编辑器 Notpad++ 和“JSON Viewer”插件。这样可以将 JSON 格式化为可读格式,然后再次压缩。
我的方案部分如下所示:
"schemes": {
"https": {
"action": 2,
"handlers": [
{
"name": "mybrowser.exe",
"path": "C:\\{yourPath}\\mybrowser.exe"
},
{
"name": "firefox.exe",
"path": "C:\\Program Files\\Mozilla Firefox\\firefox.exe"
}
]
},
"http": {
"action": 2,
"handlers": [
{
"name": "mybrowser.exe",
"path": "C:\\{yourPath}\\mybrowser.exe"
},
{
"name": "firefox.exe",
"path": "C:\\Program Files\\Mozilla Firefox\\firefox.exe"
}
]
}
},