Lea*_*Edx 5 javascript pdf jquery jquery-plugins
我需要书库的功能,为此我使用过:
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"});
});
});
}
Run Code Online (Sandbox Code Playgroud)
在那个弹出关闭事件中,我想破坏PDFJS的对象(释放内存).在这个代码中使用turn.js第3个发布版本,如果我用第4个版本替换该版本,那么代码不起作用.
你只需要调用destroy的pdfDoc实例。
在您的代码示例中,看起来像是pdfDoc分配给了全局变量pdf。因此,这应该做您想要的:
pdf.destroy();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3374 次 |
| 最近记录: |