PDF.js 不支持 IE9

PDF.js 是一个用于渲染 PDF 文件的 JavaScript 库,它可以让我们在网页上显示 PDF 文件而不需要使用 Adobe Acrobat 插件。

然而,在尝试将 PDF.js 应用于 Internet Explorer 9 浏览器时,会遇到一些问题。本文将探讨这些问题,并提供解决方案。

问题描述

当您尝试在 IE9 中加载 PDF.js 时,您可能会注意到以下两个问题:

  1. PDF 文件无法正确加载。
  2. 控制台中会出现 Object doesn't support property or method 'createObjectURL' 的错误消息。

这是因为 IE9 不支持 BlobcreateObjectURL 方法,而这些方法是 PDF.js 使用的关键部分。

解决方案

有几种方法可以解决这些问题。

使用 Blob.js

Blob.js 是一个 JavaScript 库,可以模拟浏览器中原生的 Blob 对象,从而让 PDF.js 在 IE9 中能够正常工作。

您只需将以下代码添加到您的 HTML 文件中即可:

------- -------------------------------------------------------------------------------

如果您已经使用了 polyfill.io,则可以使用以下代码代替:

------- ------------------------------------------------------------------------

使用 BlobBuilder.js

BlobBuilder.js 是另一个 JavaScript 库,可以创建 Blob 对象。

您只需将以下代码添加到您的 HTML 文件中即可:

------- -------------------------------------------------------------------------------
------- -----------------------------------------------------------------------------------

使用 Blob.js 和 BlobBuilder.js 的组合

如果您想要更全面地支持浏览器,您可以结合使用 Blob.js 和 BlobBuilder.js。

您只需将以下代码添加到您的 HTML 文件中即可:

------- -------------------------------------------------------------------------------
------- -----------------------------------------------------------------------------------
--------
-- -------------------- -- ------------------------- -
  ------------------ - -------------------------
-
---------

示例代码

以下是一个使用 Blob.js 解决 PDF.js 在 IE9 中无法正常工作的示例代码:

--------- -----
------
------
  ----- ----------------
  ------------- --- ------- -- -----------
-------
------
  ---- ------------------
  ------- ---------------------------------------------------------------------------------
  ------- -------------------------------------------------------------------------------
  --------
    -- ---- --- ------- --- --- -----
    --- ------- - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

- ----------------------------------------------------------- --------
---------------------------------------------------------------------------------------