You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

同一服务器下跨站点引用Framework_Acme目录中的PDF.js库配置方法

如何跨站点目录引用PDF.js库?

你现在的情况是把PDF.js从FrontEnd的Pdfjs目录移到了同级的Framework_Acme目录,要让FrontEnd里的.asp文件能正确调用这个集中管理的库,核心就是修改资源的引用路径,推荐用服务器根路径的方式,这样不管后续新增多少站点都不会出问题,具体改法如下:

核心修改思路

因为两个目录都在服务器根目录下,用/开头的绝对根路径可以直接定位到Framework_Acme里的资源,比相对路径更可靠(相对路径容易受页面目录结构变动影响)。

修改代码示例

原代码

var pdfjsLib = window['pdfjs-dist/build/pdf'];
//Extension pdf.js (pdf.worker.js)
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs/pdf.worker.js';
//Async PDF
var LoadTask = pdfjsLib.getDocument(PDF_URL);

修改后的代码

假设你把PDF.js完整迁移到了Framework_Acme/Pdfjs目录下(和之前FrontEnd里的结构一致),那么代码要改成这样:

// 用服务器根路径指向Framework_Acme下的PDF.js核心库
var pdfjsLib = window['/Framework_Acme/Pdfjs/pdfjs-dist/build/pdf'];
// 同样修改worker文件的路径,确保指向集中管理的版本
pdfjsLib.GlobalWorkerOptions.workerSrc = '/Framework_Acme/Pdfjs/pdf.worker.js';
//Async PDF
var LoadTask = pdfjsLib.getDocument(PDF_URL);

额外注意事项

  • 一定要核对路径的准确性:如果你的PDF.js在Framework_Acme里的子目录不是Pdfjs,要把路径里的Pdfjs改成实际的目录名。
  • 检查服务器权限:确保服务器允许从FrontEnd站点访问Framework_Acme目录下的静态资源(一般默认配置是允许的,除非有特殊的目录权限限制)。

如果暂时不想用绝对根路径,也可以用相对路径(比如../Framework_Acme/Pdfjs/...),但这种方式只适合当前.asp文件和Framework_Acme目录的层级关系不变的情况,后续如果页面目录结构调整,可能会失效,所以还是推荐绝对根路径的方式。

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

火山引擎 最新活动