【发布时间】:2018-12-31 18:21:59
【问题描述】:
我试图在我的页面上的 document.ready 函数下设置window.print(),但它显示“文档仍未准备好打印”。那么现在谁检测不到我的 pdf 已加载?
【问题讨论】:
-
试过了。但没有运气:(
我试图在我的页面上的 document.ready 函数下设置window.print(),但它显示“文档仍未准备好打印”。那么现在谁检测不到我的 pdf 已加载?
【问题讨论】:
您可以使用setTimeout(),它将每200 毫秒执行一次checkReadyState() 函数。一旦document.readyState 为complete,checkReadyState 将执行window.print():
$(document).ready(function() {
function isDocumentReady() {
if (document.readyState === 'complete') {
window.focus();
window.print();
window.close();
} else {
setTimeout(isDocumentReady, 200);
}
}
isDocumentReady();
});
【讨论】:
我认为这一定是可行的,但没有准备好文档
$(window).load(function() {
alert('Loaded');
});
【讨论】:
您必须尝试pdfjs git-repo 中提到的textlayerrendered 事件。这是一个例子:
document.addEventListener('textlayerrendered', function (e) {
if (e.detail.pageNumber === PDFViewerApplication.page) {
// finished rendering
}
}, true);
【讨论】: