Firefox 是否提示在浏览器中打开 PDF,还是在外部应用程序中打开 PDF,或者保存?

Firefox 是否提示在浏览器中打开 PDF,还是在外部应用程序中打开 PDF,或者保存?

我怎样才能让 Firefox 给我一个提示——无论是本机的,还是通过插件——它会问我:

  • 如果我想使用 pdfjs 在浏览器中预览 PDF,或者
  • 如果我想在外部应用程序中打开 PDF,或者
  • 如果我想将 PDF 保存为文件?

这是我目前的行为,Firefox 36,Ubuntu 11.04,在中运行--safe-mode,并使用默认配置文件;首先我查找一个 PDF 来打开

/tmp/ff1.png

(注:Google 与 JavaScript 一起使用时将重写每个每一个单击鼠标时出现链接,导致打开 PDF 时出现愚蠢的空白页)

单击 PDF 链接后,我收到此提示:

/tmp/ff2.png

值得注意的是,我可以任何一个选择一个外部应用程序(也可以通过其他应用程序),或者保存文件 - 但在浏览器中预览的选项(意味着使用 pdfjs)。

编辑/首选项/应用程序如下所示:

/tmp/ff3.png

... 与about:configpdf 相关的设置如下所示(由于某种原因,在 Gnome 2 中截屏似乎总是要关闭菜单栏,导致出现下面的扭曲图像):

/tmp/ff4.png

当我单击 PDF 链接时,我该怎么做才能让所有三个选项都显示出来?

答案1

根据@sdaau 提出的原始帖子和@phg 引起的关注,这可以是一种解决方法,也可以是一种答案。无论如何,这是一个实用的解决方案。

直接答案

我该怎么做才能在单击 PDF 链接时显示所有三个选项? - sdaau 于 2015 年 3 月 2 日 14:39 提问

不,这是不可能的。Firefox Addon 可能会提供这样的接口,但对于使用 WebExtensions API 的较新插件,无法对 Firefox 进行任何直接修改。因此,我在这里针对 OP 写的解决方案是一种变通方法。

真的我也想要这个。现在已经三年了,30个版本都已经过去了,难道没有人想出解决方案吗? – phg 11月28日 10:27

是的,这确实存在。只是到现在为止还没有人真正写出解决方案;Firefox 的帮助文章相关 SE 网站也没有任何-相关的-邮政还没有解决方案。

Firefox 限制 1:内置查看器 PDF.js 是不是本身就是一个应用程序,因此无法将其设置为 Firefox 中的辅助应用程序。因此无法从保存对话框中的“打开方式”中选择“在 Firefox 中预览”。

因此,实际的解决方案是让 Firefox 的当前配置文件调用另一个使用单独配置文件的 Firefox 实例,该配置文件默认设置为“在 Firefox 中预览”。

怎么运行的

为了理解该解决方案,用户应该知道:

  • 用户可以更改 Firefox 在单击或下载文件时执行的操作,如下所述Firefox 帮助上的此帮助文章
  • Firefox 可以通过创建单独的用户配置文件来运行多个实例,正如MozillaZine 知识库上的这篇文章
  • 脚本可用于运行应用程序,通常使用命令行参数,视窗苹果系统, 和Linux,正如 SU 上的相关帖子所述
  • 任何程序,包括 Firefox,都很可能会提供打开内容的完整路径,必须通过命令行参数进行解析(对用户不可见,对程序员可见)

每当用户打开具有内容类型(例如 PDF)的链接时,用户都会看到保存对话框,然后从“打开方式”中选择其他应用程序即可。

但实际上,用户可能无法从“打开方式”中选择,因为所选应用程序未列在那里。实际上需要进行一些设置,因此缺少这一步。

缺少步骤:用户必须添加所选应用程序。典型的帮助文章可能没有帮助,特别是当所选应用程序是自定义应用程序或应用程序中内置的程序(如 Firefox 的内置查看器)时。

如何设置

要实际添加所选应用程序(在本例中为 Firefox 的内置查看器),用户必须执行以下所有操作预先

  • 在 Firefox 中创建新的用户配置文件,然后
  • 创建脚本以使用新的用户配置文件运行 Firefox,然后
  • 将脚本添加到 Firefox 中的应用程序下的设置中。

首先,创建一个名为pdfjs(任意名称)的新用户配置文件。然后创建一个只有两行的 Bash 脚本(Linux),如下所示。

#!/bin/bash
firefox -P "pdfjs" --no-remote $1

哪里:

  • -P "pdfjs"是指定单独的用户配置文件
  • --no-remote允许使用多个 Firefox 实例的选项不同的概况
  • $1是 Bash 中的第一个参数,它可能具有打开内容的完整路径

Firefox 限制 2:Firefox 无法运行多个实例相同的配置文件。用户可以从 Firefox 本身打开新选项卡或窗口,但不能通过命令行执行相同操作。此限制不适用于在没有任何选项的情况下运行 Firefox 命令的默认配置文件。

该脚本保存在/usr/local/bin/pdfjs(与用户配置文件类似的名称,我的命名选择)并且脚本必须被标记为可执行文件。

  • 如果未标记为可执行文件,Firefox 将不会将该脚本识别为辅助应用程序。
  • Firefox 可以识别可执行的 Linux 快捷方式“.desktop”,但不起作用。
  • 不要使用快捷方式,而要使用脚本。

以下屏幕截图组合显示选择“使用其他...”(左上角)并在 Firefox 的设置中找到脚本,然后更改操作。

Firefox - 选择辅助应用程序

如果脚本添加成功,用户可以看到脚本名称列在“操作”栏和“应用程序详细信息”(右侧)。最后,再次将操作更改为“始终询问”(左下角)。

设置摘要

要将内置查看器添加为 Firefox 中的首选应用程序:

  1. 运行 Firefox 配置文件选择器并创建新的个人资料
  2. 运行文本编辑器并创建脚本使用带有选项和命令行参数的新配置文件运行 Firefox(文件内容如上),然后标记为可执行
  3. Firefox - 设置/首选项
  4. 常规 > 应用程序 > 便携式文档格式 (PDF) - 使用其他... - 选择辅助应用程序(找到脚本的保存位置)
  5. 常规 > 应用程序 > 便携式文档格式 (PDF) - 总是询问
  6. 关闭完成

所有相关步骤 3 至 6 均在 Firefox 中完成默认配置文件

步骤 4 和步骤 5 连续进行是为了简化设置。这些步骤看似矛盾,但实际上各有各的用途。

  • 步骤 4 是添加选择的应用程序并在“打开方式”中提供。
  • 第 5 步是显示保存对话框,以便用户可以选择“打开方式”并查看可用的所选应用程序。这才不是删除步骤4中添加的选项。
  • 这里看似矛盾的是Firefox 限制 1前面已经解释过。

其他细节已在“如何设置”中说明。

如何使用

与往常一样:运行 Firefox 并打开内容类型的链接。将出现保存对话框,然后选择“打开方式”并选择所需的应用程序。单击“确定”以运行所选应用程序。

以下截图组合显示具有单独配置文件的 Firefox 使用深色主题(底部),以区别于具有默认配置文件的 Firefox(顶部)。

Firefox - 使用辅助应用程序打开

限制审查:此解决方案允许在具有单独配置文件的 Firefox 中一次只打开一个 PDF。如果用户想要打开多个,只需将 PDF 链接从 Firefox(默认配置文件)拖放到另一个 Firefox(单独配置文件)的选项卡栏中,即可在新选项卡中打开另一个 PDF。

已在 Linux 上测试使用 Firefox 63.0 和 Bash 脚本。自 Firefox 3.0(three-point-zero)以来的任何版本都可以,但未在 Windows 和 macOS 上测试使用其他脚本。

总结解决方案之前就有,但没人写过。只需添加所选应用程序即可。由于 Firefox 的限制,设置过程繁琐。原生方式比使用插件更实用。

相关内容