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

7900
That Brazilian Guy

Симптомы

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

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

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

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

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

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

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

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

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

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

Тем не мение:

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

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

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

9
Просто автоматизируйте эти операции ... Попробуйте это: https://addons.mozilla.org/en-US/firefox/addon/imacros-for-firefox/?src=search climenole 9 лет назад 0
Автоматизировать какие операции? Это просто щелчок, чтобы загрузить. Мой вопрос был длинным, потому что я хотел предоставить достаточно информации. Кроме того, если пользователи не могут быть обеспокоены (или не могут понять, что происходит), нажимая кнопку «Загрузить», а не открывая ее, то, безусловно, более сложное решение не будет работать. Мне нужно то, что не требует взаимодействия с пользователем That Brazilian Guy 9 лет назад 0
Итак, вам нужен компьютер без пользователя компьютера ... ОК. :) climenole 9 лет назад 0
Я только что узнал, что в Linux есть папки `/ usr / share / mime-info / gnome-vfs.mime` и` / usr / share / mime / globs`. Я не уверен, что это повлияет на поведение Firefox; и, очевидно, его нет в Windows. That Brazilian Guy 9 лет назад 0
Вы можете просто изменить входящий тип MIME с одним из нескольких расширений. Установите для него тип MIME, который всегда загружается. Извините, сейчас не хватает времени для полного ответа, но вы достаточно умны, чтобы понять идею. RockPaperLizard 9 лет назад 1
Я пытаюсь загрузить все (даже неизвестные mimetype) файлы без запроса, это кажется невозможным с Firefox! Мне нужно поведение, как Alt-Click, чтобы быть по умолчанию ... Rast 8 лет назад 0

2 ответа на вопрос

4
user2655065

Making a master mimeTypes.rdf file that you deploy to users is the best solution

Open mimeTypes.rdf in an editor that handles XML style docs well (such as Notepad++)

Find and replace first line with second:

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

I would also "seed" your master mimeTypes.rdf with some of the exotics your users have accumulated:

  1. Copy mimeTypes.rdf from the 2-3 users with the heaviest usage of webmail attachments
  2. Compare users' types to your master:

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 

If you find any new types, grab the whole stanza from the user's file and add to master.

К сожалению, это не практично. Я понятия не имею, какие типы я буду загружать в будущем. Кроме того, некоторые типы файлов (например, exes) вообще не работают. Synetech 6 лет назад 0
0
Vinayak

NOTE: The instructions are Windows specific, but will work for other OSes. This solution will not work for PDFs without disabling PDF.js and/or other PDF viewer plugins. It also won't work for files which Firefox can open directly (e.g. MP3 files, images, videos, text/plain files, etc.)


Well, this solution isn't as user interaction free as you'd want, but if you have the ability to provide customized versions of Firefox or you can run batch scripts on each user's computer, you can try this:

  1. Install the latest beta version of Automatic Save Folder (ASF)

  2. Create a filter to match any kind of file from any domain like this.
    Also make sure you read the 1st Install Guide ASF Filter

  3. Configure ASF to automatically choose Save File from the Save dialog Choose auto save

  4. Install FEBE and backup the browser profile (including preferences) and restore them on individual computers

Or, if you can run batch scripts on the user's computer, run the following script (after ASF is installed):

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); 

The script takes input from extpref.txt which should be present in the same folder as the script itself and must contain preferences for ASF, which will be updated in Firefox's preferences file (prefs.js)

You can read the preferences from about:config under extensions.asf.* or simply get them from prefs.js which will typically be in the folder:

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

When creating extpref.txt make sure you don't include extensions.asf.filters0.folder and extensions.asf.lastpath since they will be different for each user.