javascript – 如何破坏PDFJS对象?

前端之家收集整理的这篇文章主要介绍了javascript – 如何破坏PDFJS对象?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我需要书库的功能,为此我使用过:

> Turn.js,用于flipbook效果(仅第3个版本正常工作,第4个版本无法使用,如果有人与turn.js的第4个版本具有相似的功能,那么请分享您的代码).
> 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第3个发布版本,如果我用第4个版本替换该版本,那么代码不起作用.

最佳答案
你只需要在pdfDoc实例上调用destroyon.

在您的代码示例中,看起来pdfDoc被赋予全局变量pdf.所以,这应该做你想要的:

pdf.destroy();

猜你在找的jQuery相关文章