打印頁面時,javascript代碼似乎被執行。
如何確定頁面當前是否正在打印?我做了一些js調整大小,並且必須處理打印有點不同。在打印頁面時執行javascript
8
A
回答
9
你不能,除了IE瀏覽器。沒有其他瀏覽器有打印前事件。你可以,但是,針對特定的樣式表只適用,同時打印:
<!-- In head -->
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
這個樣式表將在打印之前應用。這使您可以執行一些驚人的更改,包括隱藏主要部分,移動項目以及執行打印只樣式(如分頁符)。
另一種選擇是向用戶提供「打印此頁」按鈕。該按鈕可以處理你的JavaScript,請致電window.print()
,然後恢復更改:
function printMe() {
// perform changes
window.print();
// revert changes
}
的window.print()
方法總是塊(在每一個瀏覽器我測試過),所以它的安全,隨即恢復了變化。但是,如果用戶選擇通過菜單或工具欄進行打印,那麼您運氣不好。
我在一個複雜的網絡應用程序中處理這種情況的一種方式是打印樣式表隱藏除了特殊DIV以外的所有內容。如果用戶點擊打印,他們會收到警告消息。如果他們點擊打印按鈕,那麼該div將填充正確的信息。這不是很好,但至少他們沒有得到幾頁垃圾。
3
AFAIK沒有一般的可能性。 IE有onbeforeprint和onafterprint,現在也添加到Firefox 5/6 +(我不知道肯定)。考慮使用打印特定樣式
<link rel="stylesheet" href="print.css" type="text/css" media="print" />
其他相關問題
相關問題
- 1. 在javascript中打印時縮放頁面
- 2. 打印頁面時在單獨頁面上打印
- 3. 打印HTML頁面是否重新執行javascript?
- 4. HTML頁面打印時打印
- 5. 在頁面加載時執行javascript
- 6. javascript在頁面加載時不執行?
- 7. 在.load()頁面後執行javascript頁面
- 8. 在頁面打開時運行Javascript
- 9. Javascript:在頁面上打印1,000,000「o」s
- 10. 在html上打印javascript變量頁面
- 11. 在HTML打印頁面禁用JavaScript
- 12. 在不同的頁面打印Javascript?
- 13. 打印頁面
- 14. jQuery打印在頁面上而不是執行
- 15. PHP_printer打印雙面打印(雙面)頁
- 16. 在打印另一個頁面的頁面上打印按鈕
- 17. 在打開Fancybox時打印內容,在關閉時打印頁面內容
- 18. 在打印到雙面打印機時控制分頁符
- 19. 打印在一個頁面上一行JavaScript或jQuery的
- 20. jquery-mobile在頁面加載時重複打印javascript
- 21. 使用javascript/jquery打印選定頁面
- 22. 打印頁面的一部分javascript
- 23. 用Javascript打印多個頁面
- 24. asp.net使用javascript的打印頁面
- 25. 在橫向打印頁面
- 26. 在IOS中打印頁面
- 27. 在PhantomJS中打印頁面
- 28. 如何在頁面打破時使用javascript打印時添加標題?
- 29. 打印HTML頁面
- 30. ASP.NET打印頁面