首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何销毁PDFJS对象?

如何销毁PDFJS对象?
EN

Stack Overflow用户
提问于 2014-12-04 06:24:22
回答 1查看 6.1K关注 0票数 6

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

  • Turn.js,这是用于触发器效果(只有第3版工作,第4版不工作,如果有人有类似的功能与第4版的turn.js,然后请分享您的代码)。
  • pdf.js,它在客户端将PDF转换为HTML。

是我所遵循的参考链接。

我修改了一个动态使用脚本的函数,它将PDF的路径添加到该函数中,根据该链接,图书在弹出窗口中打开。

下面是该函数的JavaScript函数:

代码语言: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版替换该版本,那么代码就无法工作。

EN

回答 1

Stack Overflow用户

发布于 2015-04-09 10:33:25

只需在destroy实例上调用pdfDoc即可。

在您的代码示例中,pdfDoc似乎是分配给全局变量pdf的。所以,这应该能做你想做的事:

代码语言:javascript
复制
pdf.destroy();
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27287609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档