IE7 預覽列印 造成當機
在下班前碰到這個噩耗。
在某專案中,使用者回報IE下,預覽列印&網頁中提供的友善列印功能會造成IE當機。
一開始心中OS,這是IE的問題,我不是Microsoft我怎麼可能搞定。
不過,問題總要解決吧!只好硬著頭皮找啦。
先說我們在列印的時候,利用了透過CSS對同一個元素分別為顯示、列印、行動裝置指定不同的呈現樣式。
一直找不到合適的說法,借引用了黑大的文章。
同時,也算是一個中文的說明:活到老學到老-CSS Media Types
原本的Css樣式為:
@media print {
#header { display:none; }
#MainRight { display:none; }
#footer { display:none; }
}
上面主要代表,當使用者在列印網頁的時候我把表頭區域、主要內容右方、表尾部份隱藏不列印。
在這樣的情況下,FF、IE8、IE9都依舊運作正常。
可是,到了IE7就果然出現了使用者的反應,當機。XD
正當百思不得其解時,發現了其中一點小奧秘,最近在針對MainRight的部份有做調整。
變成MainRight是被包在一個更大的DIV中,假設叫Main,Main中左邊是MainLeft,右邊是MainRight。
但是原本的Css只把MainRight隱藏,推測可能是此造成錯誤。
@media print {
#header { display:none; }
#Main { display:none; }
#footer { display:none; }
}
改為把整個Main都隱藏掉就又恢復正常了。
初步認定為,因為DIV的順序造成異常。
在此做個紀錄!!