假設report.html是您要打印的頁面。開發頁面的方式是它接受媒體參數作爲GET參數。即像yoursite.com/report.html?media=X
- 其中X可以是'screen'
,'print'
等,如果X是空的,它可以使用「屏幕」
寫2 css文件即screen.css和print.css的默認值 - 根據該值媒體參數(X)將screen.css或print.css導入您的頁面。
在screen.css,寫一個 '@media屏幕' 裏面你的風格DEFS塊,如:
@media screen {
body {
... screen style here ...
}
}
在print.css,寫一個 '@media屏幕,打印' 塊內等你的風格DEFS :
@media screen, print {
body {
... print style here ...
}
}
在你report.html,假設你有一個打印按鈕,在其onclick
,叫window.open('report.html?media=print', ...)
。在接收到Ctrl + P時,也可以從連接到文檔對象的keydown處理程序執行相同的操作。
而且,在你的頁面的onload
,檢查媒體的說法是「打印」,如果它,然後在短暫的延遲之後調用window.print()
(比如500毫秒),即是這樣的:
if(window.location.href.indexOf('media=print')!=-1) {
setTimeout(function() { window.print(); }, 500);
}
究竟什麼是你的題?你在你的問題中回答了這兩個問題。 – Blender
他要求一個例子......「任何示例請」應該暗示在:) – ChrisR
@Blender我知道通過添加window.print將加載打印選項 '
' 但它不會首先顯示打印預覽。我該怎麼做? –