2009-10-15 106 views
0

客戶端下載開銷希望我能很好地解釋這一點,並希望我想正確的做法:)瀏覽器相關:CSS打印樣式表 - 停止與@media

我的問題是,如果我有一個打印樣式表有幾個類可以「顯示」背景圖像,有沒有辦法讓瀏覽器在打印時下載圖像,或者是否需要預加載圖像。

我用FF和IE做了打印式背景圖像的混合效果。實際上IE似乎在打印時下載圖像? FF沒有這樣做 - (即使Firefox的Live HTTP頭文件插件也這樣說!)。

我的代碼基本上是這樣說:

@media=screen 
.class 
{ 
    display: none; 

} 

@media=print 
.class 
{ 
    display: list-item !important; 
    list-style-image: 
} 

回答

0

不是一個很好的解決方案,但你可以提供一個「打印」按鈕,它被點擊之前實際打印時修改了樣式,並改變它回來後?

例如(使用jQuery):

<script type="text/javascript" language="javascript"> 
    function doprint() { 
     $('.class').css('display','list-item').css('list-style-image','img.jpg'); 
     window.print(); 
     $('.class').css('display','none').css('list-style-image',''); 
    } 
</script> 

<input type="button" onclick="doprint();" /> 

很明顯,你可以使用瀏覽器的打印功能解決這個問題。

還有你通過不預加載圖像是很好,真正使用jQuery和腳本中使用了節省開銷的問題...

+0

感謝您的Damovisa!但從可訪問性的角度來看,我無法使用此解決方案。我想如果這是唯一可能的解決方案,我將不得不從頭開始預加載。 乾杯 Jared – Jared 2009-10-15 20:00:53

+0

沒問題,也許如果預加載特別慢,你可能想看看你正在加載的圖像的大小/格式? – Damovisa 2009-10-19 01:10:09