2011-11-27 110 views
0

我正在爲最近建立的Web地圖應用程序添加基本打印功能,並且我無法在標準中使用Internet Explorer 8時使打印工作正常模式。我希望有更多CSS經驗的人可以提供幫助。在Internet Explorer 8標準模式下Bing地圖打印問題

我在jsbin上創建了一個基本示例,演示了我所看到的:http://jsbin.com/osepov/16。本示例在大多數瀏覽器中正確打印。但是,在標準模式下的Internet Explorer 8中,地圖的平鋪圖像在打印時會從第一頁開始運行,並在第二頁運行。我試過了一堆不同的CSS組合,並且瀏覽了幾個小時尋找可能解決問題的黑客。到目前爲止,我顯然沒有運氣。

之處在於打印功能適用於大多數的瀏覽器,我願意爲一些事情妥協,如果需要的話,讓這個在Internet Explorer 8個的工作標準模式:

  1. 地圖不必須填寫整個頁面,減去標題。它可以有一個固定的高度。
  2. 頭很高興,但我願意沒有它。

我知道可以在服務器上構建一個PDF,但我真的想用一個簡單的打印樣式表來做到這一點。

注意:是的,我必須支持IE 8標準模式。我有一個將IE8用戶踢到IE7模式的解決方案,但這是我的客戶無法接受的。

回答

0

更新2:我能夠通過將IE8撞到IE7標準模式來解決問題。地圖現在正在打印正確。

UPDATE:沒有,這並沒有解決問題。我仍然看到同樣的問題。這似乎工作,但我仍然看到這個問題。

ORIGINAL POST:我想我明白了這一點。基本上,在Internet Explorer 8標準模式下打印時,似乎「頂級」div會導致整個頁面變得不合適,並跑到第二頁。我不知道爲什麼這只是在IE8中發生,而不是在其他瀏覽器中發生,但是有一些奇怪的只有IE的bug,我不明白。

最終的解決辦法:

#wrapper {height:100%;left:0px;position:absolute;top:0px;width:100%;} 
#top {height:70px;position:relative;width:100%;} 
#main {height:785px;overflow:hidden;position:absolute;top:70px;width:100%;} 

所以定位「頂」分區比較和分配像素的高度和「溢出:隱藏」到「主」的div似乎解決問題。

這不是一個完美的解決方案,但它符合我目前的要求。

以下是更新後的解決方案:http://jsbin.com/osepov/19