對於與屏幕上顯示的內容不同的打印,我們使用@media打印規則。 那麼好。 但是我想在瀏覽器窗口中顯示打印對話框彈出之前究竟打印什麼。 有沒有辦法做到這一點?在打印之前查看打印CSS
回答
您可以使用本文中的相同概念How to trigger media query on user demand with javascript,但是您可以使用按鈕觸發/切換名稱爲previewprint
的正文標籤的類名稱。
而且你的CSS看起來是這樣的:
body.previewprint .yourclass {
property: value;
}
@media print {
.yourclass {
property: value;
}
}
一種方法是添加一個單獨的「預覽」按鈕,設置previewprint
和「打印」按鈕復位/清除它。
如果你不想擁有雙css規則,那麼只要使用previewprint
類就可以了,如果你在新窗口中用「預覽」按鈕打開頁面,那麼用戶可以點擊「打印「按鈕。在這種情況下,「打印CSS規則」已經設置,不需要媒體查詢。
如果只使用「打印」按鈕,請執行相同操作,然後在加載時執行window.print()
。
我還發現這個不錯的帖子,how to detect window.print() finish,在打印完成後你可以做一些很酷的東西。
要攔截Ctrl + P鍵,這裏是展示如何可以做幾個帖子:
您的解決方案正常工作。但我們可以做到沒有重複嗎? –
@ user3930007稍微更新了我的答案,以顯示沒有重複規則的方式......這也使得它對不支持媒體查詢的瀏覽器更加「老舊瀏覽器友好」。 – LGSon
這也適用,但如果用戶按下ctrl + P,則不會觸發任何操作。 –
- 1. 僅在打印之前防止滾動查看器滾動?
- 2. 在python中打印以前的打印?
- 3. 在打印之前調用線程,但在線程之前執行打印
- 4. 打印0之前變量
- 5. js for-loop代碼在打印之前被打印
- 6. 打印語句在無限循環之前不會打印
- 7. 報告查看器打印?
- 8. CSS媒體打印查詢
- 9. @media打印CSS
- 10. 由css打印
- 11. CSS打印
- 12. jQuery的打印區打印CSS顏色
- 13. 沒有打印特定CSS的打印
- 14. 水印CSS不打印
- 15. 打印前顯示打印對話框
- 16. Perl的打印循環和更換打印結果之前
- 17. 打印打印整個窗口,而不是查看
- 18. 爲什麼在System.out.println之前打印System.err.println?
- 19. 在UrlRewriteFilter之前打印訪問日誌
- 20. 在發送之前打印URLConnection請求
- 21. 在聲明之前能夠打印。 PYTHON
- 22. 打印前文件打開?
- 23. 媒體打印CSS
- 24. CSS打印網頁
- 25. css打印樣式
- 26. CSS列和打印
- 27. 打印查看BigQuery的查詢結果
- 28. Windows:findstr - 如何在查找行之前/之後打印3行?
- 29. 查詢打印
- 30. 打印當前數
http://stackoverflow.com/questions/18803151/如何使用觸發器進行媒體查詢 - 用戶需求 - 使用javascript – JNF
問題不在於調整大小。我想要顯示要在瀏覽器窗口上打印的內容。 –
一個完全開箱即用的想法可能是使用一個iframe來設置它的'head'' meta'作爲打印機而不是網頁?但是,如果可能的話,我不知道如何在技術上做到這一點。 – Vadorequest