簡體   English   中英

在IE6中設計的ASP.net Web應用程序在IE8中存在兼容性問題

[英]ASP.net web application designed in IE6 has compatability issue in IE8

我當前使用的Web應用程序設計為可以在IE6中使用。 但是現在我的客戶希望將應用程序升級到IE8。 我在系統中安裝了IE8,但是現在網頁的發布不如IE6那樣好。

文本框和其他一些字段從其原始位置移動,長度和寬度也發生了更改。 有些人建議將標記<meta http-equiv="X-UA-Compatible" content="IE=IE5" >放置到HTML頁面的開頭部分以獲取兼容模式,但不適用於我。 有人可以幫我..嗎?

設計用於IE6

是你的問題。 IE6從來都不是支持標准的瀏覽器,因此HTML可能包含許多適當的解決方法-升級表明這些實際上是多么糟糕。

在這里看看有關IE6的“好”程度的可笑之處。

你可以:

  • 修復網站( 強烈建議
  • 告訴客戶繼續使用IE6

即使您是初學者,也應該能夠適當地修改HTML以解決此問題。

這篇文章的標題總結了很多對IE6不利的方面,以及為什么它導致當今的Web開發人員如此頭痛,以及為什么這么多公司這么長時間都不願進行升級。 但是,由於沒有IE6的新許可證,即使是那些公司也被迫現在進行升級。

UA兼容的黑客無法正常工作,因為它所做的只是告訴IE8使用其“舊版”渲染引擎來模仿IE的較早版本。 聽起來好像應該可以,但不幸的是,它對IE7的兼容性影響最大。

因此,您可以嘗試IE7兼容模式。 不能保證做到這一點,但我想它離IE6還近了一步。 您應該能夠通過更改已經擁有的meta標簽來進行測試,但是您也可以通過轉到開發者工具來切換IE8中的渲染模式,該工具在窗口頂部具有渲染模式切換功能。

所有這些的麻煩在於,它不會成為您的永久解決方案。 即使您確實使它在IE7兼容模式下工作,也無法保證當用戶升級到IE9(他們將很快開始這樣做)時,IE7模式將繼續為您工作。 IE10也在開發中。

如果您在網站上遇到的主要問題只是文本框和其他對象的輕微移動,那么您實際上並沒有做得太糟-在現代瀏覽器中,為IE6編寫的某些網站簡直太糟糕了,甚至都沒有考慮升級它們; 他們只需要重寫。 但是您的聲音聽起來應該是可以挽救的。

您問題最可能的根源是Quirks模式。

Quirks模式是較舊版本的IE(IE6和更早版本)使用的呈現模式,而不是遵循已定義的Web標准。 IE6是支持標准模式的IE的第一個版本,盡管它默認為怪異模式以與IE5兼容。 在此之前,IE5僅使用怪癖模式。 這可能可以解釋為什么您的建議是嘗試使用IE5兼容模式的……可惜,該建議永遠不會起作用。

Quirks模式和Standards模式之間有很多區別,但是主要的是box模型。 簡而言之,在怪異模式下,元素的大小(即高度和寬度)包括邊界和邊距,而在標准模式下則不包括。

兩種模式之間還存在其他范圍的差異,但這實際上是導致最壞的頁面布局損壞的一種。

聽起來您的網站在設計時考慮了怪癖模式,而不是標准模式。 不幸的是,您無法進行自動修復。 您只需要仔細檢查所有樣式,即可調整位置並調整其大小,直到它起作用為止。

您還應該確保在HTML代碼的頂部具有有效的Doctype聲明。 這將幫助瀏覽器選擇正確的渲染模式。 沒有它,您可能會發現有時仍會進入怪癖模式。

強烈建議您在其他瀏覽器(例如Chrome和Firefox)中測試該網站。 這可能會通過拾起IE8可能沒有問題的代碼中的其他錯誤來幫助您。 我建議即使最終用戶只打算使用IE8,也要這樣做,因為正如我所說,他們幾乎可以肯定會在不遠的將來升級到IE9,然后在不久的將來升級到IE10。 IE9比IE8更符合標准,而IE10也是如此。這意味着,如果頁面在Chrome和Firefox中呈現良好,那么您應該有信心在啟動IE9和IE10后就可以了。 這樣可以避免您在一年的時間內再次遇到IE6-> IE8問題。

希望有所幫助。

如果您有任何特定的代碼需要進一步幫助,建議將其發布在新問題下。

我希望CSS樣式已應用在單獨的樣式表中,而不是內聯的。 如果是inline ,最好的選擇是從頭開始正確地重新開發那些頁面。 其他提示您的HTML很好並且不需要焦土策略:

  • 格式正確(正確關閉的標簽,在html屬性周圍使用引號)
  • 使用DIV和SPAN進行布局,而不是在各處使用TABLE
  • 每頁頂部都有一個DOCTYPE

如果運氣不錯,並且樣式與內容保持分離,則可以使用一種全新的樣式表,然后使用該樣式表使頁面在IE8 / Firefox / Safari中看起來正確。 然后,您可以使用條件注釋來還原到IE6的舊樣式表。

作為臨時解決方法,您可以告訴客戶以兼容模式查看網站(您甚至可以通過從服務器發送元標記/標頭來強制使用該模式)。 雖然,這可能無法解決您的所有問題,但應涵蓋其中的大多數問題。

從永久解決方案開始,您應該開始將頁面逐一遷移到標准模式(即,支持當前的主要瀏覽器,例如IE8 / 9,FF,Chrome,Safari)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM