You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome 60.0.312无法运行ng2-pdf-viewer 6.3.2的技术咨询

问题分析与解决方案

你遇到的问题本质是浏览器兼容性不匹配:最新版ng2-pdf-viewer(6.3.2)依赖的底层PDF渲染库pdf.js,已经不再支持Chrome 60.0.312这类老旧版本浏览器了。Chrome 60是2017年的版本,现代前端库通常只会维护近2-3年的浏览器兼容,这就是为什么它在新版Chrome(87.0.4280.88)能正常运行,但旧Chrome里既无报错也不显示PDF的原因。

下面给你几个可行的解决方向:

方案1:降级ng2-pdf-viewer到兼容旧Chrome的版本

这是最稳妥的解决办法。根据ng2-pdf-viewer的版本依赖记录,4.x系列版本(比如4.3.0)所依赖的pdf.js仍支持Chrome 60。

操作步骤:

  1. 卸载当前版本:
npm uninstall ng2-pdf-viewer
  1. 安装指定的兼容版本:
npm install ng2-pdf-viewer@4.3.0 --save
  1. 你现有的代码配置(app.module.ts、app.component.ts、app.component.html)完全不需要修改,4.x版本的API和你当前使用的配置完全兼容。

方案2:尝试添加Polyfills(仅作补充尝试)

如果不想降级,可以尝试为旧Chrome补充缺失的ES6+特性支持,因为Chrome 60对部分ES6新特性的支持不完善,而新版ng2-pdf-viewer可能用到了这些特性:

  1. 打开项目中的polyfills.ts文件,添加以下polyfill代码:
// 补充ES6数组相关特性
import 'core-js/es/array';
// 补充Promise等核心ES6特性
import 'core-js/es/promise';
import 'core-js/es/object';
// 补充DOM动画相关API
import 'web-animations-js';
  1. 安装对应的依赖包:
npm install core-js web-animations-js --save
  1. 重新构建并运行项目,检查PDF是否能正常显示。不过需要注意:这个方案的成功率不高,因为pdf.js本身可能已经移除了对旧浏览器的适配代码,polyfill无法完全弥补底层的兼容性问题。

方案3:直接集成旧版pdf.js(备选方案)

如果前两个方案都不适用,你可以跳过ng2-pdf-viewer封装库,直接使用支持Chrome 60的pdf.js旧版本(比如v2.0.x系列),手动在Angular项目中实现PDF渲染功能。不过这种方式需要你自己处理更多的细节(比如加载、渲染、错误处理等)。

内容的提问来源于stack exchange,提问作者Balaji P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:34:56