PDF 文档的移动设备上出现“没有启用的插件支持此 MIME 类型”消息

Pat*_*eam 10 pdf asp.net-mvc mime web-config google-search-console

最近,Google 搜索控制台报告了我们的 ASP.NET 网站上存在指向 PDF 文档的 URL 的覆盖问题。

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

没有启用的插件支持此 MIME 类型

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

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

  <system.webServer>
      <staticContent>
        <remove fileExtension=".pdf" />
        <mimeMap fileExtension=".pdf" mimeType="application/pdf"  />
      </staticContent>
  <system.webServer>
Run Code Online (Sandbox Code Playgroud)

使用该文件(如下)更新web.config文件会强制浏览器在两种上下文中下载 PDF。

  <system.webServer>
      <staticContent>
        <remove fileExtension=".pdf" />
        <mimeMap fileExtension=".pdf" mimeType="application/octet-stream"  />
      </staticContent>
  <system.webServer>
Run Code Online (Sandbox Code Playgroud)

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

不过,我想在桌面上下文中的浏览器本身中打开 PDF,并在移动上下文中下载它。是否可以?

小智 13

对我来说,问题是在响应模式下查看页面,Chrome 不支持在此模式下显示 pdf,切换到常规桌面模式后 PDF 就出现了。文件加载后,可以通过切换回响应模式来测试移动视图。


wp7*_*8de 2

观察到的行为是特定于设备/媒体类型的;温和地说,在 Web 服务器级别处理此问题具有挑战性。有一些简单的方法,但它们只能帮助您到此为止,一些商业IIS 检测解决方案可以提供帮助。

我想,对网站进行调整可能会更有利。可能存在标头问题,或者承认此行为并管理期望。

跨移动设备保持一致的行为很困难,并且根本没有万无一失的方法来确定设备、移动操作系统或外形尺寸是否能够像在桌面上一样打开嵌入 HTML 的 PDF 文档。在所有常见浏览器和设备上显示嵌入文档的最低共同点通常是具有下载链接。