我需要书库的功能,为此我使用过:
> Turn.js,用于flipbook效果(仅第3个版本正常工作,第4个版本无法使用,如果有人与turn.js的第4个版本具有相似的功能,那么请分享您的代码).
> pdf.js,在客户端将PDF转换为HTML
我已经修改了一个动态使用该脚本的功能,它将PDF的路径添加到该功能中,并根据该链接,在弹出窗口中打开书籍.
这是JavaScript函数:
function display_book(path){
var url = path;
PDFJS.disableWorker = false;
PDFJS.getDocument(url).then(function(pdfDoc) {
numberOfPages = pdfDoc.numPages;
pdf = pdfDoc;
$('#book').turn.pages = numberOfPages;
$('#book').turn({acceleration: false,pages: numberOfPages,elevation: 50,gradients: !$.isTouch,// display: 'single',when: {
turning: function(e,page,view) {
// Gets the range of pages that the book needs right now
var range = $(this).turn('range',page);
// Check if each page is within the book
for (page = range[0]; page<=range[1]; page++) {
addPage(page,$(this));
//renderPage(page);
};
},turned: function(e,page) {
$('#page-number').val(page);
if (firstPagesRendered) {
var range = $(this).turn('range',page);
for (page = range[0]; page<=range[1]; page++) {
if (!rendered[page]) {
renderPage(page);
rendered[page] = true;
}
};
}
}
}
});
$("button.close").click(function(){
//code for destroy pdfjs object
$(".modal").css({"display":"none"});
});
});
}
在那个弹出关闭事件中,我想破坏PDFJS的对象(释放内存).在这个代码中使用turn.js第3个发布版本,如果我用第4个版本替换该版本,那么代码不起作用.
最佳答案