#mozilla pdfjs介绍
moziila pdfjs是一款优秀的pdf在线预览、导出、打印插件,但在使用中遇到了跨域问题。
#mozilla pdfjs跨域设置
在pdf.js/web/app.js中,1420行,找到
let viewerOrigin = new URL(window.location.href).origin || 'null';
//添加这一行
//修改,将当前工程的origin纳入pdfjs的宿主域
HOSTED_VIEWER_ORIGINS.push(viewerOrigin);
if (HOSTED_VIEWER_ORIGINS.indexOf(viewerOrigin) >= 0) {
// Hosted or local viewer, allow for any file locations
return;
}
这样就是允许所有与本域名不同的请求,客户端js放开了限制,但是服务器端还需要配置CORS(cross origin resource share),请求是发送到腾讯云所以服务端设置可以参考这篇文档
#pdfjs文件过大
pdf.worker.js过大问题,下载pdfjs源代码,npm安装依赖后,使用gulp minified
命令压缩js,在build文件夹下生成minified文件夹就是压缩后的,未压缩前1M多,压缩后600多KB
#参考
https://github.com/mozilla/pdf.js
https://github.com/mozilla/pdf.js/issues/7153
https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions#can-i-load-a-pdf-from-another-server-cross-domain-request