iT邦幫忙

0

IE相容性跑版的問題

  • 分享至 

  • twitterImage

編寫網站的時候測試各個瀏覽器
發現使用IE11 有設定相容性的時候會導致整個畫面跑版
有先搜了一下大多解法都是在head裡新增

<meta http-equiv=”x-ua-compatible” content=”IE=edge, chrome=1">

不過試過還是無效,想問看看還有其他解法或是可以從哪裡下手?

PS.應要求是無法將相容性關掉的

看更多先前的討論...收起先前的討論...
小魚 iT邦大師 1 級 ‧ 2018-10-02 12:10:04 檢舉
話說, 我的電腦連IE都不讓我開了...
我的Mac裡沒有ie,連office都沒有,哈哈!
真的是很難過QAQ 我也是很想教他們用

總之這邊有解了 直接對全域使用`x-ua-compatible`去處理
還是謝謝各位回答 (跪)
結果真的是政府專案???
很多HTML5 語法 IE 已經不支援了, 等未來HTML6全面不支援就GG了!之前也有遇到要做 slider的,後來直接用 jquery-ui 刻個給他應急, 然後我就丟辭呈了!
不是政府的啦XDDDDD
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

3
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2018-10-02 11:33:42
最佳解答

一般畫面會跑版的情況根源還是來自於排版的配版能力不夠。無法設計成多瀏覽器的樣式處理。
一般來說,像你說的用x-ua-compatible宣告版本的方式,也只是治標不治本。

當然了,要重新改寫一套新的配版也不是一件簡單的事。
所以大多數而言就是採用判斷式的配版處理了

在html標簽上用

<!--[條件式]>html標簽<![endif]-->

條件式可以用如下的寫法
If IE7:如果是瀏覽器版本是IE7的話
if lt IE 7:lt,less than,如果瀏覽器版本小於IE7
if lte IE7:lte,less than or equal,如果瀏覽器版本小於或等於IE7的話
if gt IE7:gt,greater than,如果瀏覽器版本大於IE7的話
if gte IE7:gte,greater than or equal,如果瀏覽器版本大於或等於IE7的話
If (gte IE6)&(lt IE9):&,and運算子,當兩個括號裡的條件都成立時執行程式
If (gte IE6)|(lt IE9):|,or運算子,當兩個括號裡的條件成立一個時執行程式

範例:

<!--[if lte IE9]><div class="use_ie9">IE9以下用的</div><![endif]-->
<!--[if gt IE9]><div class="use_ie11">IE10以上用的</div><![endif]-->

再配合一下x-ua-compatible或是css及js的對應處理。因該可以勉強解決你的問題。
但如果可以的話,最好還是設計成多瀏覽器配合的佈局會比較好。

看更多先前的回應...收起先前的回應...

推!勉強解決你的問題/images/emoticon/emoticon12.gif

另外提外話,其實我這邊開發的專案,已不針對ie9以下的版本支援了。
一但客戶使用了ie9以下的版本。我會直接跳出不支援並給與chrome的下載連結提供給客戶下載使用。
曾經有客戶堅持要相容ie9以下,連ie6也要支援,我直接將價格開2倍。並說明要做是可以的,但這等於是二次工。所以我需要加倍的金額。如你不堅持的話則可以省一半。

認真來說,開2倍其實不過份。因為事實上來說,光ie6就有很多需要利用js的技術來達到在ie9能做到的事。很費工

小魚 iT邦大師 1 級 ‧ 2018-10-02 12:11:19 檢舉

說實在話,
ie6我覺得2倍太少了...
不過公家機關有可能還在用ie6...

公家機關壓..
是IE6..而且還不可用其他瀏覽器以及升級為IE8

froce iT邦大師 1 級 ‧ 2018-10-02 21:07:29 檢舉

找到一個可以檢查相容性模式的。不過我沒用過。
https://github.com/Gavin-Paolucci-Kleinow/ie-truth

公家機關也是不得已的,資訊沒預算,要不然就是留不住技術好的,外面的待遇還比較好。
不過除了中小學以外,這狀況應該會漸漸改變,因為最近資安要求越來越嚴格了。

1
Darwin Watterson
iT邦好手 1 級 ‧ 2018-10-02 11:19:58

針對 IE瀏覽器 顯示的問題,最乾脆也最正確的作法就是請公司養個美編待命,隨時準備重刻頁面版型!這部分單靠js調整真的是治標不治本!況且連微軟都不再支援與更新 IE 了,該訓練客戶習慣其他瀏覽器了!
貼幾篇版上的討論給你參考參考:
以css中的{display:none}設定(隱藏)列印範圍,在ie6無解?
IE7、IE8、IE9網頁DIV CSS不兼容
Google Chrome 在HTML的顯示上與IE或FireFox不一致?
...
搜尋關鍵字可下 IE css

感覺是直接讓客戶換瀏覽器比較快了/images/emoticon/emoticon06.gif

政腐專案腦袋都很老摳摳XD...

我要發表回答

立即登入回答