从Chrome下载MHT文件

10

我们的SaaS网络应用程序使用MHT文件作为用户创建的模板。

最近,Chrome开始阻止下载并显示以下消息: blocked

这显然让用户感到害怕,并需要一些笨拙的步骤来绕过,即使是对于一个技术娴熟的人。

IE 11和Firefox 39没有任何关于该文件的问题。

有没有比重新编写我们的应用程序以停止使用MHT文件更容易解决这个问题的方法?


就我所知,我有一些mht文件包括一些调用Outlook扩展程序(如WebEx)的内容。起初我以为它会将它们视为“可执行文件”而阻止它们,但实际上所有的mht文件都被阻止了,即使只是纯文本和图像也是如此。 - Jon
我创建了一个扩展名为.mht的空文件,但Chrome不允许我下载它。他们确实有一个API chrome.pageCapture.saveAsMHTML来捕获页面。但是他们简单地不允许您使用正确的扩展名保存捕获的页面。太遗憾了。 - Dizzy
我知道这是一个老问题,但对于任何其他寻找Outlook .mht解决方法的人,请尝试使用.eml扩展名。 - jg2703
4个回答

2
解决方法是使用 doc 扩展名代替 mht,即使该文件实际上是 mht。Word会在静默中打开它,并默认以相同的格式保存。

1
很遗憾,我找到的唯一解决方案是打开chrome://settings,点击高级设置,在隐私选项下取消选择“保护您和您的设备免受危险网站的攻击”。

1
很遗憾:1)那将是一个糟糕的主意,因为确实有很多真正危险的文件。2)SaaS而不是企业级。我们无法告诉全世界的数千个用户更改他们的浏览器设置来使用我们的应用程序。 - Diego Mijelshon
从版本87.0.4280.88开始,在eml或mht文件扩展名方面禁用不会对此行为产生影响。对我们而言,这是一个非常真实且不可接受的问题。 - kevin walker

1

我知道如何做这件事情(可能花了我大约一分钟的时间来弄清楚),但是我不能指望最终用户在正常应用程序使用的过程中都能够做到。我目前正在重写该模块以处理DOCX文件。 - Diego Mijelshon

0

我发现了一个解决方法,可以让你在新的Chrome标签页中打开网页上的.mht链接:

  1. 安装"IE Tab" Chrome插件
  2. 右键单击Chrome工具栏中的IE Tab图标,选择“IE Tab选项” -> “选项”
  3. 启用(勾选复选框)“启用自动URL”选项
  4. 为了允许Chrome自动下载点击的.mht文件,请将最具体的URL添加到IE Tab设置的“自动URL”部分。例如,“http://your-trusted-intranet-server.your-company.com/*.mht”
  5. 关闭IE Tab选项页面

如果你想让它们自动在Chrome标签页中打开,除了上述步骤外,还需要执行以下步骤:

  1. 下载一个 .mht 文件到您的本地磁盘。
  2. 右键单击它,选择“打开方式”。
  3. 启用(勾选)选项“始终使用此应用程序打开 .mht 文件”。
  4. 选择 chrome.exe,或使用“选择其他应用程序”选项并导航到“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”(或 Chrome 在您的 PC 上安装的任何位置)
  5. 返回 IE Tab 选项页面,并添加最具体的本地磁盘 URL,以匹配 IE Tab 下载 .mht 文件时的位置。例如,“file:///C:/Users/your_name/AppData/Local/Microsoft/Windows/INetCache/*.mht”
  6. 关闭 IE Tab 选项页面

此时,当您单击与步骤(5)中设置的通配符匹配的 .mht URL 时,您应该会看到一个标签页在 Chrome 中打开,并出现一个对话框询问您是否要打开文件。点击“打开”,文件将在 Chrome 中打开,使用嵌入式 IE 实例在 Chrome 标签中运行。

这只适用于Windows PC(因为它允许在Chrome网页内运行IE实例),但对我的要求来说已经足够好了。


这并没有解决问题,问题不在于下载MHT文件,而是我的SaaS用户。 - Diego Mijelshon
是的,不幸的是它并不能解决应用程序层面上的问题。但在Google赋予Chrome白名单URL的能力之前,这可能是客户可用的最佳解决方法。甚至他们的IT部门也可以自动部署它。 - Chris Kline
SaaS 意味着软件即服务。这里没有 IT 部门 - 来自世界各地不同组织的应用程序用户可以在任何支持的浏览器和平台上使用。白名单也行不通。 - Diego Mijelshon
1
我熟悉这个缩写;我为我们组织使用的SaaS产品开发了这个解决方法。很抱歉它不能用于您的产品,但希望它对其他人有所帮助。 - Chris Kline

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接