禁用Firefox下载的“打开方式”选项(强制Firefox始终保存所有文件)


12

症状

  • 用户打开他们的Web邮件帐户,单击某些附件,然后单击“使用Word打开”。
  • 用户需要编辑数小时的宝贵文档。用户保存Word文档并退出。
  • 用户找不到文件。
  • 用户抓住火把和干草叉(最后一步是可选的)

在此处输入图片说明

问题的原因

Firefox的下载对话框显示两个选项:“ 保存文件 ”和“ 打开方式 ”。

在此处输入图片说明

通过选择“打开方式”,Firefox将文件下载到临时文件夹并打开关联的应用程序。我想防止这种行为

我尝试了什么

我做了作业,搜索了MozillaZine和知识库(例如hereherehere),如果我理解正确,则下载对话框将不取决于文件的扩展名,而是取决于其mime类型。

我知道我可以通过转到“首选项”>“应用程序”来设置行为,如下所示:

在此处输入图片说明

然而:

  • Firefox依靠服务器通知的mime类型。但是它本身可能是不正确的,被遗漏的或多余的(一种文件类型可以具有多种mime类型,反之亦然)。
  • Firefox会记住每个MIME类型的“从现在起自动对此类文件执行此操作”复选框。如果要强制执行某种行为,则必须为每种mime类型手动设置它。
  • 我无法在应用程序列表中创建新条目。仅当从未注册的mime类型进行新下载时,才会填充该文件。只有这样,我才能更改列表中的行为。
  • 我可以编辑mimetypes.rdf文件,强制执行“保存文件”行为,但是我找不到一种对所有文件强制执行此操作的方法。

我需要的是一种(最好)使无法使用外部应用程序打开或至少迫使文件无法保存的方法。

我知道我可以设置为browser.altClickSaveabout:config单击ALT时将其保存文件,但是我需要一些不需要用户交互的解决方案。


:只是自动完成这些操作尝试这种addons.mozilla.org/en-US/firefox/addon/imacros-for-firefox/...
climenole

自动化什么操作?只需单击即可下载。我的问题很长,因为我想提供足够的信息。此外,如果不打扰(或不了解会发生什么)用户单击下载而不是打开它,那么,更复杂的解决方案肯定行不通。我需要不需要用户交互的东西
巴西人,2014年

因此,您需要一台没有计算机用户的计算机...确定。:)
climenole 2014年

我刚刚发现Linux具有/usr/share/mime-info/gnome-vfs.mime/usr/share/mime/globs文件夹。我不确定它是否会影响Firefox的行为;显然它在Windows中不存在。
那个巴西人2014年

1
您可以使用几个扩展名之一来修改传入的MIME类型。将其设置为始终下载的MIME类型。抱歉,目前没有足够的时间来提供完整的答案,但是您足够聪明,可以理解这个想法。
RockPaperLizard 2014年

Answers:


5

制作部署给用户的主mimeTypes.rdf文件是最佳解决方案

在可以很好地处理XML样式文档的编辑器(例如Notepad ++)中打开mimeTypes.rdf

查找第一行并将其替换为第二行:

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

我还将“种子”您的主mimeTypes.rdf与您的用户积累的一些外来元素:

  1. 从使用网络邮件附件最多的2-3个用户中复制mimeTypes.rdf
  2. 将用户类型与母版进行比较:

命令文件

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

如果找到任何新类型,请从用户文件中获取整个节并将其添加到master。


2
不幸的是,这根本不可行。我不知道将来会下载什么类型。另外,某些文件类型(如exes)根本不起作用。
Synetech

0

注意:这些说明仅适用于Windows,但适用于其他操作系统。如果不禁用PDF.js和/或其他PDF查看器插件,则此解决方案不适用于PDF 。它也不适用于Firefox可以直接打开的文件(例如MP3文件,图像,视频,text/plain文件等)。


嗯,此解决方案并非像您想要的那样免费提供用户交互功能,但是如果您能够提供自定义版本的Firefox,或者可以在每位用户的计算机上运行批处理脚本,则可以尝试以下操作:

  1. 安装最新的Beta版本的自动保存文件夹(ASF)

  2. 创建一个过滤器,以匹配来自此类任何域的任何类型的文件。
    还要确保您阅读了第一版安装指南 ASF过滤器

  3. 配置ASF以Save File从“保存”对话框中 自动选择选择自动保存

  4. 安装FEBE并备份浏览器配置文件(包括首选项),并将其还原到各个计算机上

或者,如果可以在用户计算机上运行批处理脚本,请运行以下脚本(安装ASF之后):

文件名:配置ASF.bat
@回声关闭
::如果正在运行,请杀死Firefox,否则prefs.js将不会更新
开始“” / WAIT / B“ taskkill” / F / IM firefox.exe

::查找Firefox的用户配置文件目录并导航到该目录
SET ProfileDir =%APPDATA%\ Mozilla \ Firefox \ Profiles
CD / D%配置文件目录%
FOR / F“ tokens = * USEBACKQ” %% F IN(`dir / A:D / B ^ |找到“ default”`)DO(
设置“ ProfileDir =%ProfileDir%\ %% F”
)
CD / D%配置文件目录%

::从“ extpref.txt”中读取ASF首选项并将其附加到Firefox的首选项文件中
类型%〜dp0%\ extpref.txt >> prefs.js

::由于每个用户的用户名一定会更改,因此请找到“下载”的路径
::文件夹并将其附加到prefs.js
SET DownloadsDir =%USERPROFILE%\ Downloads
回声user_pref(“ extensions.asf.filters0.folder”,“%DownloadsDir:\ = \\%”);>> prefs.js
回声user_pref(“ extensions.asf.lastpath”,“%DownloadsDir:\ = \\%”);>> prefs.js

暂停
文件名: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.folderextensions.asf.lastpath因为每个用户的名称都不相同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.