4

Как я могу заставить Firefox дать мне подсказку, - либо исходную, либо через плагин, - которая спросит меня:

  • если я хочу просмотреть PDF в браузере, используя pdfjs, или
  • если я хочу открыть 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:config параметры конфигурации , относящиеся к pdf, выглядят следующим образом (по какой-то причине при создании снимка экрана в Gnome 2 всегда возникает желание закрыть строку меню, что в результате дает кривое изображение ниже):

/tmp/ff4.png

Что я могу сделать, чтобы все три варианта были представлены как варианты, когда я нажимаю ссылку PDF?

1 ответ1

1

Это может быть как обходной путь, так и ответ, основанный на оригинальном сообщении, заданном @sdaau, и внимании, которое принес @phg. В любом случае это практическое решение.

Прямые ответы

Что я могу сделать, чтобы все три варианта были представлены как варианты, когда я нажимаю ссылку PDF? - спросил Сдау 2 марта 15 года в 14:39.

Нет, это невозможно. Firefox Addon может предоставлять такой интерфейс, но с более новыми дополнениями, использующими API WebExtensions, любое прямое изменение Firefox невозможно. Поэтому решение, которое я написал здесь относительно OP, является обходным путем.

Я тоже очень этого хочу. Прошло три года и 30 версий спустя, никто еще не придумал решение? - 28 ноября в 10:27

Да, это действительно существует раньше. За исключением того, что никто до сих пор не написал решение; ни помощь статья для Firefox , ни связанных с ними сайтов SE не имела какой - либо - соответствующий - поста с решением еще.

Ограничение Firefox 1. Встроенный просмотрщик PDF.js сам по себе не является приложением, и это делает невозможным его установку в качестве вспомогательного приложения в Firefox. Поэтому "Предварительный просмотр в Firefox" нельзя выбрать из "Открыть с помощью" в диалоговом окне сохранения.

Следовательно, практическое решение состоит в том, чтобы заставить текущий профиль Firefox вызывать другой экземпляр Firefox, который использует отдельный профиль, для которого по умолчанию установлено "Предварительный просмотр в Firefox".

Как это устроено

Чтобы понять решение, пользователь должен знать, что:

  • Пользователь может изменить то, что делает Firefox, когда вы нажимаете или загружаете файл, как отмечено в этой справочной статье в справке Firefox.
  • Firefox может запускать несколько экземпляров, создавая отдельные профили пользователей, как отмечено в этой статье базы знаний MozillaZine.
  • Сценарий может использоваться для запуска приложения, часто с аргументами командной строки, в Windows, macOS и 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 Profile Chooser и создайте новый профиль
  2. Запустите текстовый редактор и создайте скрипт для запуска Firefox, используя новый профиль с опцией и аргументом командной строки (содержимое файла, как указано выше), затем пометьте как исполняемый файл
  3. Firefox - Настройки / Предпочтения
  4. Общие> Приложения> Формат переносимого документа (PDF) - Использовать другое ... - Выберите «Вспомогательное приложение» (укажите место сохранения сценария)
  5. Общие> Приложения> Формат переносимого документа (PDF) - Всегда спрашивать
  6. Близко к концу

Все соответствующие шаги с 3 по 6 выполняются в Firefox с профилем по умолчанию.

Шаги 4 и 5 выполняются последовательно для упрощения настройки. Эти шаги кажутся противоречивыми, но каждый из них действительно имеет свою цель.

  • Шаг 4 - добавить выбранное приложение и сделать его доступным в "Открыть с помощью".
  • Шаг 5 - показать диалоговое окно сохранения, чтобы пользователь мог выбрать "Открыть с помощью" и увидеть выбранное приложение. Это не удаляет добавленный выбор в шаге 4.
  • То, что здесь кажется противоречивым, связано с ограничением Firefox 1, объясненным ранее.

Другие детали были объяснены в разделе "Как настроить".

Как пользоваться

Как обычно: Запустите Firefox и откройте ссылку с типом контента. Появится диалоговое окно сохранения, затем выберите "Открыть с помощью" и выберите выбранное приложение. Нажмите OK, чтобы запустить выбор.

На следующем снимке экрана показано, что Firefox с отдельным профилем использует темную тему (внизу), чтобы отличить Firefox с профилем по умолчанию (вверху).

Firefox - открыть с помощью вспомогательного приложения

Обзор ограничений: Это решение позволяет открывать PDF в Firefox с отдельным профилем только по одному. Если пользователь хочет открыть более одного, просто перетащите ссылку на PDF из Firefox (профиль по умолчанию) на панель вкладок другого Firefox (отдельный профиль), чтобы открыть другой PDF на новой вкладке.

Протестировано работа с Firefox 63.0 и скриптом Bash в Linux. Подойдет любой выпуск, начиная с Firefox 3.0 (с тремя точками нуля), за исключением случаев, когда он не тестировался с другими скриптами в Windows и macOS.

TL; DR Решение существует и раньше, но никто не писал об этом. Просто добавьте приложение по выбору. Утомительная настройка из-за ограничений Firefox. Родной путь более практичен, чем использование аддонов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .