如何检测 documentViewer 何时完成加载所有文档页面?

发布于 2025-01-20 15:07:21 字数 580 浏览 0 评论 0原文

我正在使用 primefaces documentViewer ,它基于 mozilla PDF.js: 2.11.338

https://www.primefaces.org/showcase-ext/views/documentViewer.jsf

我想知道如何检测 documentViewer 何时完成加载所有文档页面?

要求是显示加载栏,直到所有文档页面完成加载。

我尝试过这个:

document.addEventListener('textlayerrendered', function (e) {
    if (e.detail.pageNumber === PDFViewerApplication.page) {
        // finished rendering
    }
}, true);

但它不起作用。

I am using primefaces documentViewer which is based on mozilla PDF.js: 2.11.338

https://www.primefaces.org/showcase-ext/views/documentViewer.jsf

and I want to know How to detect when documentViewer finish loading all document pages ?

The requirement is to show loading bar until all the document pages finish loading.

I tried this :

document.addEventListener('textlayerrendered', function (e) {
    if (e.detail.pageNumber === PDFViewerApplication.page) {
        // finished rendering
    }
}, true);

and it's not working.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

赠佳期 2025-01-27 15:07:21

我能够使其正常工作如下:

window.onload = function(){
         
        PF('statusDialog').show();
         var checkExist = setInterval(function() {
                var iframe=document.getElementsByTagName('iframe')[0];
               var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
                var viewer = innerDoc.getElementById('viewer');
                var innerHTML = viewer.innerHTML;
                if(innerHTML != null && innerHTML!='' && innerHTML!='undefined'){
                    clearInterval(checkExist);
                    PF('statusDialog').hide();
                }              
          }, 1000);  
        
}

I was able to make it work as follows :

window.onload = function(){
         
        PF('statusDialog').show();
         var checkExist = setInterval(function() {
                var iframe=document.getElementsByTagName('iframe')[0];
               var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
                var viewer = innerDoc.getElementById('viewer');
                var innerHTML = viewer.innerHTML;
                if(innerHTML != null && innerHTML!='' && innerHTML!='undefined'){
                    clearInterval(checkExist);
                    PF('statusDialog').hide();
                }              
          }, 1000);  
        
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文