9

Симптомы

  • Пользователи открывают свои учетные записи веб-почты, нажимают на некоторые вложения и нажимают "Открыть с помощью Word".
  • Пользователи редактируют свои драгоценные документы часами. Пользователи сохраняют слово doc и выходят.
  • Пользователи не могут найти файл.
  • Пользователи берут факелы и вилы (последний шаг необязательно).

Причина проблемы

Диалог загрузки для Firefox показывает две опции: « Сохранить файл » и « Открыть с помощью ».

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

Что я пробовал

Я сделал домашнее задание и произвел поиск в MozillaZine и в Базе знаний (как здесь, здесь или здесь), и если я правильно понял, диалоговое окно загрузки будет зависеть не от расширения файла, а скорее от его типа пантомимы.

Я знаю, что могу установить поведение, перейдя в «Настройки»> «Приложения», например:

Тем не мение:

  • Firefox использует тип mime, сообщаемый сервером. Но он может быть неверным, опущенным или избыточным (один тип файла может иметь несколько типов MIME или наоборот).
  • Firefox запоминает флажок «Делать это автоматически для файлов, подобных этому с настоящего момента», для каждого типа миме. Если я хочу применить определенное поведение, я должен вручную установить его для каждого типа пантомимы.
  • Я не могу создавать новые записи в списке приложений. Заполняется только тогда, когда новая загрузка сделана из незарегистрированного типа пантомимы. Только тогда я могу изменить поведение в списке.
  • Я могу отредактировать файл mimetypes.rdf , применив поведение "сохранить файл", но не смог найти способ применить это ко всем файлам.

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

Я знаю, что могу установить browser.altClickSave в about:config чтобы он сохранял файл, когда я нажимаю ALT, но мне нужно какое-то решение, которое не требует взаимодействия с пользователем.

2 ответа2

4

Создание главного файла mimeTypes.rdf, который вы развертываете для пользователей, является лучшим решением.

Откройте mimeTypes.rdf в редакторе, который хорошо обрабатывает документы в стиле XML (например, Notepad++)

Найдите и замените первую строку второй:

NC:saveToDisk="false"
NC:saveToDisk="true"
  and
NC:alwaysAsk="true"
NC:alwaysAsk="false"  

Я бы также "засеял" ваш мастер mimeTypes.rdf некоторыми экзотиками, накопленными вашими пользователями:

  1. Скопируйте mimeTypes.rdf от 2-3 пользователей с самым интенсивным использованием вложений веб-почты
  2. Сравните типы пользователей с вашим мастером:

cmd.exe

find "<RDF:li RDF:resource=" Master_mimeTypes.rdf > MasterMimes.txt   #generate list of mimetypes
find "<RDF:li RDF:resource=" User1_mimeTypes.rdf > User1Mimes.txt     #generate list of mimetypes
fc MasterMimes.txt User1Mimes.txt                                     #compare lists of mimetypes

Если вы найдете какие-либо новые типы, возьмите всю строфу из файла пользователя и добавьте в мастер.

0

ПРИМЕЧАНИЕ . Инструкции относятся только к Windows, но будут работать для других ОС. Это решение не будет работать для PDF-файлов без отключения PDF.js и / или других плагинов для просмотра PDF . Он также не будет работать с файлами, которые Firefox может открывать напрямую (например, файлы MP3, изображения, видео, text/plain файлы и т.д.)


Что ж, это решение не так свободно от взаимодействия с пользователем, как хотелось бы, но если у вас есть возможность предоставлять настроенные версии Firefox или вы можете запускать пакетные сценарии на компьютере каждого пользователя, вы можете попробовать это:

  1. Установите последнюю бета-версию автоматического сохранения папки (ASF)

  2. Создайте фильтр для сопоставления файла любого типа из любого домена, подобного этому.
    Также убедитесь, что вы прочитали 1-е руководство по установке ASF фильтр

  3. Настройте ASF для автоматического выбора « Save File в диалоговом окне «Сохранить» Выберите автосохранение

  4. Установите FEBE и сделайте резервную копию профиля браузера (включая настройки) и восстановите их на отдельных компьютерах

Или, если вы можете запустить пакетные сценарии на компьютере пользователя, запустите следующий сценарий (после установки ASF):

Filename: Configure ASF.bat
@ECHO OFF
:: Kill Firefox if it is running or else prefs.js won't be updated
START "" /WAIT /B "taskkill" /F /IM firefox.exe

:: Find out the user profile directory for Firefox and navigate to it
SET ProfileDir=%APPDATA%\Mozilla\Firefox\Profiles
CD /D %ProfileDir%
FOR /F "tokens=* USEBACKQ" %%F IN (`dir /A:D /B ^| find "default"`) DO (
SET "ProfileDir=%ProfileDir%\%%F"
)
CD /D %ProfileDir%

:: Read  ASF preferences from 'extpref.txt' and append them to Firefox's preferences file
TYPE %~dp0%\extpref.txt >> prefs.js

:: Since the username for each user is bound to change, find out the path to the "Downloads"
:: folder and append it to prefs.js
SET DownloadsDir=%USERPROFILE%\Downloads
ECHO user_pref("extensions.asf.filters0.folder", "%DownloadsDir:\=\\%"); >> prefs.js
ECHO user_pref("extensions.asf.lastpath", "%DownloadsDir:\=\\%"); >> prefs.js

PAUSE
Filename: extpref.txt
user_pref("extensions.asf.dialogForceRadio", true);
user_pref("extensions.asf.dialogaccept", true);
user_pref("extensions.asf.filters0.active", true);
user_pref("extensions.asf.filters0.domain", "*");
user_pref("extensions.asf.filters0.domain_regexp", false);
user_pref("extensions.asf.filters0.filename", "*");
user_pref("extensions.asf.filters0.filename_regexp", false);
user_pref("extensions.asf.filtersNumber", 1);
user_pref("extensions.asf.tempdomain", "http://chrisblattman.com");
user_pref("extensions.asf.useDownloadDir", true);
user_pref("extensions.asf.version", "1.0.5bRev128");
user_pref("extensions.asf.viewdloption", true);
user_pref("extensions.asf.viewpathselect", true);
user_pref("extensions.asf@mangaheart.org.install-event-fired", true);

Сценарий принимает входные данные из extpref.txt который должен присутствовать в той же папке, что и сам скрипт, и должен содержать настройки для ASF, которые будут обновлены в файле настроек Firefox (prefs.js)

Вы можете прочитать настройки из about:config в extensions.asf.* Или просто получить их из prefs.js который обычно находится в папке:

%APPDATA%\Mozilla\Firefox\Profiles\????????.default\

При создании extpref.txt убедитесь, что вы не включаете extensions.asf.filters0.folder и extensions.asf.lastpath поскольку они будут разными для каждого пользователя.

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