我正在尝试在document.ready函数下的页面上设置window.print()
,但它说“文档”仍然没有为打印做好准备'。那么现在我无法检测到我的pdf已加载?
答案 0 :(得分:1)
您可以使用setTimeout()
,它将每checkReadyState()
毫秒执行200
函数。 document.readyState
为checkReadyState
后,window.print()
将执行complete
:
$(document).ready(function() {
function isDocumentReady() {
if (document.readyState === 'complete') {
window.focus();
window.print();
window.close();
} else {
setTimeout(isDocumentReady, 200);
}
}
isDocumentReady();
});
答案 1 :(得分:0)
我认为这必须是有效的,但不能在文件准备好的情况下
$(window).load(function() {
alert('Loaded');
});
答案 2 :(得分:0)
您必须尝试pdfjs git-repo中提及的textlayerrendered
事件。这是一个例子:
document.addEventListener('textlayerrendered', function (e) {
if (e.detail.pageNumber === PDFViewerApplication.page) {
// finished rendering
}
}, true);