wkhtmloptf를 사용하여 PDF를 만드는 페이지 (createPDF.php)를 호출하는 링크를 제공하며 다운로드 상자가 표시되는 데 최대 30 초가 소요될 수 있습니다.파일 (URL) 생성 및로드 중 jQuery 대화
페이지를로드하는 동안 메시지를 표시하고 다운로드 상자가 나타나면 사라질 대화 상자 (jQuery UI 사용)를 보여 드리고 싶습니다. 지금
: PDF 아이콘에
- 사용자 클릭, 그것은 사용자가 페이지 방향 및 페이지 형식을 선택하는 jQuery를 UI 대화 상자를 엽니 다. 할 "PDF 생성"에
사용자가 클릭 :
(this).dialog("close"); // Close current dialog (Select page orientation, ...) $("#dialog-modal").dialog("open"); // Open new dialog (Please wait while ....) window.location.href = "<?php echo URL; ?>createPDF.php"; (generate and load the PDF) // dialog should close here once the above URL is loaded
나타납니다 "기다려주십시오"하지만 다운로드 상자가 팝업 때 사라지지 보여주는 대화 상자를 표시합니다.
아이디어가 있으십니까? 미리 감사드립니다!
편집 :
내가 다음 코드를 사용하여, 아약스로 파일을로드하려고 :
$.ajax({
url: "<?php echo URL; ?>createPDF.php",
async: false,
beforeSend: function(xhr) {
xhr.overrideMimeType('application/octet-stream');
},
success: function(content) {
$("#dialog-modal").dialog("close");
}
});
PDF 파일 한 번에 가까운 대화 상자가 생성,하지만 난 더 다운로드 상자를 얻을 수 없습니다 .. .
편집 3 :
마지막으로 나는 timeo와 blockUI를 사용 ut을 닫으십시오. 원하는 경우 메시지 상자를 닫을 수도 있습니다.
$(this).dialog("close");
$.blockUI({ message: '<div style="padding: 20px;"><div style="font-size: 20px;">Veuillez patienter pendant que votre PDF est généré.</div> <br /> Ceci peut prendre quelques secondes. <br /> <br /> Ce message peut disparaître avant que le téléchargement ne commence.</div>' });
$('.blockOverlay').attr('title','Cliquez pour fermer ce message').click($.unblockUI);
var pdfFormat = $('#pdfFormat').val();
var pdfOrientation = $('#pdfOrientation').val();
pdfURL = pdfURL + "&f=" + pdfFormat + "&o=" + pdfOrientation;
window.location.href = pdfURL;
setTimeout(
function(){
$.unblockUI();
}, 5000);