gpt4 book ai didi

javascript - 如何销毁 PDFJS 对象?

转载 作者:搜寻专家 更新时间:2023-11-01 04:08:40 24 4
gpt4 key购买 nike

我需要图书馆的功能以及我使用过的功能:

  • Turn.js,用于动画书效果(仅第 3 版可用,第 4 版无法使用,如果有人与第 4 版 turn.js 具有类似功能,则请分享您的代码)。

  • pdf.js,在客户端将 PDF 转换为 HTML

This是一个引用链接,我已经关注了。

我已经修改了一个动态使用该脚本的函数,它将 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 第三版,如果我将该版本替换为第四版,则代码将无法运行。

最佳答案

您只需要在 pdfDoc 实例上调用 destroy

在您的代码示例中,看起来 pdfDoc 已分配给全局变量 pdf。所以,这应该做你想做的:

pdf.destroy();

关于javascript - 如何销毁 PDFJS 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27287609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com