未处理的错误:未定义的变量:PDFJS 仅适用于 Opera



我使用导入的pdfjs,如下所示

<script type="text/javascript" src="https://rawgithub.com/mozilla/pdf.js/gh-pages/build/pdf.js"></script>

我有用于将 PDF 渲染到画布的脚本:

function renderPDF(url, canvas_name, scale) {
    function renderPage(page) {
        var canvas = $("#"+canvas_name)[0];
        var ctx = canvas.getContext('2d');
        var viewport = page.getViewport(canvas.width / page.getViewport(scale).width);
        var renderContext = {
          canvasContext: ctx,
          viewport: viewport
        };
        canvas.height = viewport.height;
        canvas.width = viewport.width;
        page.render(renderContext);
    }
    function renderPages(pdfDoc) {
        pdfDoc.getPage(1).then(renderPage);
    }
    PDFJS.disableWorker = true;
    PDFJS.getDocument(url).then(renderPages);
}; 

它与Chrome和Firefox完美配合。但是对于 Opera,我遇到了以下错误

Unhandled Error: Undefined variable: PDFJS

我做错了什么?

编辑:

现在我注意到,在 Firefox 中,我在控制台中收到以下错误表单 pdf.js(尽管它按预期工作(:

Error: Invalid parameter in getDocument, need either Uint8Array, string or a parameter object

当我下载pdfjs并在本地使用它时,问题就解决了,正如mplungjan所建议的那样。

此外,有必要完全按照以下顺序在模板中加载更多文件:

<script src="js/pdfjs/web/compatibility.js"></script>
<script src="js/pdfjs/build/pdf.js"></script>
<script src="js/pdfjs/build/pdf.worker.js"></script>

最新更新