我正在使用 pdf.js 开发一个 C#/ASP.NET 翻书项目。当我在 Chrome 中启动具有空缓存的应用程序时,我加载一次我的 pdf 文件并且一切都很好,但是当我刷新页面而不清除它时,pdf 完全下载了 5 次,所以大小从 7,5Mo 到37,5钼。
我检查了 IE 11、Edge 和 FireFox,我没有遇到任何问题。我已经尝试按照这些说明禁用缓存,但它并没有解决我的问题。
这是我调用我的文件的地方:
function loadBook() {
PDFJS.disableWorker = true;
PDFJS.workerSrc = '../../Scripts/pdf.worker.js';
$(document).ready(function () {
var file = "http://localhost:51790/pdf/newspaper.pdf";
PDFJS.getDocument(file).then(function getPdf(pdf) {
var pagesNumber = pdf.numPages;
//Adding canvas to the html
for (var i = 1; i <= pagesNumber; i++) {
$('.flipbook').html($('.flipbook').html() + '<div><canvas id="page' + i + '"></canvas></div>');
}
//Adding and rendering pages
for (var i = 1; i <= pagesNumber; i++) {
renderPage(i, document.getElementById('page' + i), pdf);
}
//Creating flipbook
loadJournal();
});
})
}
这是我的渲染功能:
function renderPage(numero, pageElement, pdf) {
pdf.getPage(numero).then(function (page) {
var scale = 1;
var viewport = page.getViewport(scale);
pageElement.width = viewport.width;
pageElement.height = viewport.height;
var renderContext = {
canvasContext: pageElement.getContext('2d'),
viewport: viewport
};
page.render(renderContext);
});
}
我想了解它为什么会有这样的反应。