"no enabled plugin supports this MIME type" 移动设备上的 PDF 文档消息

"no enabled plugin supports this MIME type" message on mobile device for PDF document

最近,google 搜索控制台 报告了我们 ASP.NET 网站上的 url 指向 PDF 文档的覆盖范围问题。

到目前为止,在我们的 web.config 文件中,我们没有任何 PDF 文档的 MIME 设置。但实际上,无论是在本地主机上还是在生产环境中,在 Chrome、 移动上下文中 PDF url 都会生成带有消息 no enabled plugin supports this MIME type:

在桌面上下文中,PDF 文档直接在 Chrome 中打开。

用那个(如下)更新 web.config 文件会在移动和桌面上下文中导致相同的描述行为。

  <system.webServer>
      <staticContent>
        <remove fileExtension=".pdf" />
        <mimeMap fileExtension=".pdf" mimeType="application/pdf"  />
      </staticContent>
  <system.webServer>

更新 web.config 文件(如下)会强制浏览器在两种情况下下载 PDF。

  <system.webServer>
      <staticContent>
        <remove fileExtension=".pdf" />
        <mimeMap fileExtension=".pdf" mimeType="application/octet-stream"  />
      </staticContent>
  <system.webServer>

到目前为止,这是最好的解决方案,因为它允许移动用户获取 PDF,这将修复 google 警告。

但是我想在浏览器本身的桌面上下文中打开 PDF,然后在移动上下文中下载它。可能吗?

观察到的行为是 device/media-type 具体的;委婉地说,在 Web 服务器级别处理此问题具有挑战性。有一些简单的approaches but they take you only so far, some commercial IIS detection solutions可以帮忙。

我想,对网站进行调整可能会更有利。可能 ,或承认此行为并管理期望。

很难在移动设备上保持一致的行为,而且根本没有万无一失的方法来确定设备、移动设备 OS 或外形规格是否能够在 HTML 嵌入的 PDF 文档中打开,例如桌面上就是这种情况。在所有常见浏览器和设备上显示嵌入式文档的最低公分母通常是下载 link.