在新窗口中打開PDF,打印PDF並關閉窗口。如何在JavaScript中做到這一點。 這3步應該在一次點擊完成。在新窗口中打開PDF,打印PDF並關閉窗口。如何在javascript中執行此操作
1
A
回答
1
對不起,通知您這些步驟不能簡單地使用純JavaScript來完成。想象一下,如果網站能夠自動將打印請求直接發送給用戶打印機。您訪問惡意網站並且可能會用盡碳粉和/或紙張。您將不得不在客戶端瀏覽器上安裝一些執行實際打印的插件。
1
有兩種情況:通過獲取請求或通過發佈(表單)請求加載PDF;我的場景通過調出打印對話框來解決這些問題,當打印對話框關閉時,關閉窗口。
對於GET請求,這應該是足夠了:
function testprint(){
var w = window.open(yourURL)
w.focus()
w.print()
// Don't try to close it until you've give the window time to register the print dialog request
setTimeout(function(){
w.close()
}, 1000)
}
的職位是一個比較複雜的。經過一段時間的爭論後,這就是我想出的 - 它使用隱藏的iframe;我無法讓它與額外的窗口一起工作。其結果是雖然你可以隱藏iframe,所以用戶甚至不需要看到其他窗口。 (請注意,您可以將獲取解決方案轉換爲使用iframe,並避免多餘的窗口在一起。)它假定您已經使用jQuery構建了一個表單,並且該文章的結果將是您想要的PDF。
jQuery(document.body).append(form);
if (doPrint) {
jQuery(document.body).append("<iframe style='display:none' id='doPrintId' name='doPrint'>");
form.submit(function() {
form.attr('target', 'doPrint');
});
var printWindow = document.getElementById('doPrintId');
printWindow.onload = function(){
printWindow.focus();
printWindow.contentWindow.print();
document.body.remove(printWindow);
};
form.submit();
} else {
form.submit();
}
jQuery(document.body).remove(form);
相關問題
- 1. jquery模態窗口並在新窗口中打開pdf文件
- 2. 在新窗口中打開PDF文件?
- 3. 在新窗口中打開PDF
- 4. Servlet在新窗口中打開PDF
- 5. 打開PDF /窗口
- 6. 打開新窗口並關閉舊窗口在Chrome中
- 7. 如何在dompdf中創建PDF後打開打印窗口?
- 8. 打開的窗口中自我並執行JavaScript的新窗口
- 9. 關閉在javascript中打開的窗口
- 10. 如何在javascript中打開pdf文件新瀏覽器窗口
- 11. html javascript打開新窗口,並關閉當前窗口
- 12. MVC在彈出窗口中打開PDF
- 13. 在彈出窗口中打開pdf
- 14. 如何關閉當前窗口並同時打開新窗口?
- 15. 打開一個新窗口並在5秒後關閉窗口
- 16. 如何從javascript打開PDF文件,但不是在新窗口中打開?
- 17. 如何打開新窗口並在新窗口中執行方法?
- 18. 打開新窗口並關閉父項
- 19. 如何在新窗口中打開pdf文件中的鏈接?
- 20. 在IFrame內打印PDF後的自動關閉窗口
- 21. 使用Javascript在新窗口中打開PDF流
- 22. jsPDF從.html創建PDF,並在新窗口中打開
- 23. POST到打開的JavaScript窗口並讓Flash關閉窗口
- 24. 如何在新窗口中打開圖片或pdf文件?
- 25. 如何在ASP.NET的新窗口中打開PDF文件列表?
- 26. 在IE9新窗口中打開PDF不起作用
- 27. 關閉實際窗口並從ViewModel打開一個新窗口
- 28. 鈦關閉窗口並打開新窗口
- 29. 提交按鈕打開新窗口並關閉父窗口?
- 30. 關閉窗口並打開一個新的窗口
只要給出一個打印對話框就足夠了。用戶點擊打印對話框的打印按鈕表單後,應該關閉。 – Sid