none
IE8 Web程式相容問題

    問題

  • 最近遇到一個怪問題,提出來看看有沒有大大能跟我做一下經驗分享,環境如下~~

    • V.S 2003 開發的 V.B Web AP
    • OS Windows 2003使用IIS 6

    該Web AP在IE6下使用正常,IE7沒有試過,IE8整個程式不太正常,按下某些元件沒有發生預期的狀況,已經在每個.aspx上加上<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />,但是程式一樣失效。假設我把「IE=EmulateIE7」改成「IE=EmulateIE6」,是否就是代表在IE8瀏覽器上的程式,向下相容到IE6?謝謝~~

    2010年3月29日 下午 02:59

解答

  • IE6的時候,很多不合規則、不符合規矩的碼都想盡辦法呈現出來。

    但是到了IE7以後,開始依循規範來呈現,因此有些寫的不標準的方式都會無法正常呈現。

    舉個例子,之前有朋友在寫asp的時候,竟然在tr裡面放下拉(select option)(正確應該放在td或者th裡面),在IE6還會把這些放錯位置的顯示在table以外,還可以用javascript去取得。但是從IE7開始就不行了。

    正確的方式應該去將這些不和規矩的程式碼找出來,修正讓他依照規矩運作。而不是一昧的要相容於IE6。否則未來在下一代的瀏覽器出現,又不能用,還是得改一次。

    由於您的描述並沒有標示出您的預期是如何,程式碼如何,希望如何卻沒有達到預期。所以也只能給您方向性的建議,小喵大膽的猜測,您應該是有些程式碼寫的不符標準,所以在ie7之後的瀏覽器無法正確如預期的運作。建議您找出這些程式碼來,用正規的寫法去撰寫。這樣ie8甚至以後的ie9, ie10應該都可以如預期的運作了。

    以上的訊息提供您參考

    ^_^


    topcat(姍舞之間的極度凝聚)http://www.dotblogs.com.tw/topcat/
    • 已編輯 topcat_小喵MVP 2010年3月31日 上午 02:22 修正錯別字
    • 已標示為解答 Pacino 2010年3月31日 上午 03:48
    2010年3月31日 上午 01:55

所有回覆

  • 或許你應該說明一下你預期的動作是什麼? 程式是寫在前端還是後端

    順便回答 IE8不能模擬IE6


    demo小鋪 http://demo.tc
    • 已編輯 demo.fanMVP 2010年3月31日 上午 02:41 修正敘述
    2010年3月30日 上午 01:58
  • 回頭去看程式,當初的開發人員是把程式寫在前端。由於這方面我的經驗比較不夠,請問一下,寫在前端或後端,對於IE8或IE6的程式運作有何差別。預期動作就是有些事件能夠的動作,例如gridview能夠postback。

    「順便回答沒有IE8不能模擬IE6」← 請問一下這指的是IE8可以模擬IE6?

    謝謝你的回答~~~

    2010年3月30日 上午 02:29
  • 網頁控制寫在前端會受到瀏覽器的影響, 所以不同瀏覽器執行的結果可能會產生不同, 建議可以利用Microsoft Expression Web SuperPreview for Windows Internet Explorer測試網頁在不同的IE瀏覽器上的反應, 不用自行模擬

    2010年3月30日 上午 03:45
  • 謝謝您的回應~~SuperPreview是可以針對不同的瀏覽器,看出版型的的差異,但是這樣還是沒有辦法解決我的問題。程式在IE6的狀況下,元件的事件能預期的執行,但是到IE8就失效,我是想找出是否能做個設定或任何技巧,使得該程式能像在IE6時正常運作。

    2010年3月30日 上午 05:09
  • IE7 開始,很多 css 靠向 w3c 的規格,所以 ie6 有些舊的格式會不能顯示。

    一般 html 則仍正常。

    你的描述很白爛。

    按下某些元件沒有發生預期的狀況

    你覺得網友是神還是神...經病?


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年3月30日 下午 04:38
  • IE6的時候,很多不合規則、不符合規矩的碼都想盡辦法呈現出來。

    但是到了IE7以後,開始依循規範來呈現,因此有些寫的不標準的方式都會無法正常呈現。

    舉個例子,之前有朋友在寫asp的時候,竟然在tr裡面放下拉(select option)(正確應該放在td或者th裡面),在IE6還會把這些放錯位置的顯示在table以外,還可以用javascript去取得。但是從IE7開始就不行了。

    正確的方式應該去將這些不和規矩的程式碼找出來,修正讓他依照規矩運作。而不是一昧的要相容於IE6。否則未來在下一代的瀏覽器出現,又不能用,還是得改一次。

    由於您的描述並沒有標示出您的預期是如何,程式碼如何,希望如何卻沒有達到預期。所以也只能給您方向性的建議,小喵大膽的猜測,您應該是有些程式碼寫的不符標準,所以在ie7之後的瀏覽器無法正確如預期的運作。建議您找出這些程式碼來,用正規的寫法去撰寫。這樣ie8甚至以後的ie9, ie10應該都可以如預期的運作了。

    以上的訊息提供您參考

    ^_^


    topcat(姍舞之間的極度凝聚)http://www.dotblogs.com.tw/topcat/
    • 已編輯 topcat_小喵MVP 2010年3月31日 上午 02:22 修正錯別字
    • 已標示為解答 Pacino 2010年3月31日 上午 03:48
    2010年3月31日 上午 01:55
  • 謝謝您的回應~~這樣我就有解決的方向了~~~
    2010年3月31日 上午 03:46
  • IE7 開始,很多 css 靠向 w3c 的規格,所以 ie6 有些舊的格式會不能顯示。

    一般 html 則仍正常。

    你的描述很白爛。

    按下某些元件沒有發生預期的狀況

    你覺得網友是神還是神...經病?


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    能解釋一下白爛的意思嗎???請問一下,你屬於神,還是神...經病??
    2010年3月31日 上午 04:11
  • http://zh.wikipedia.org/wiki/%E7%99%BD%E7%9B%AE

    摘錄連結內文:

    另有「白爛」一詞,通常是用來形容一個人很鬧了笑話,或是做了蠢事、讓人感到哭笑不得

    心冷大的意思是你的描述不清楚。仔細看看網友們的回應,每個人都不知道你講的「元件」、「預期狀況」是什麼

     

    2010年3月31日 上午 09:23
  • http://zh.wikipedia.org/wiki/%E7%99%BD%E7%9B%AE

    摘錄連結內文:

    另有「白爛」一詞,通常是用來形容一個人很鬧了笑話,或是做了蠢事、讓人感到哭笑不得

    心冷大的意思是你的描述不清楚。仔細看看網友們的回應,每個人都不知道你講的「元件」、「預期狀況」是什麼

     

    恩~~這一方面我可能在第一次的描述問題時有所疏失,所以在第一次回應的時候,我有附加說明是gridview能夠postback。所以我看不懂「白爛」一詞,故我也說這樣的比喻很白爛囉~~~~~
    2010年3月31日 上午 11:20
  • To Pacino:

       建議你先看看以下這篇文章

    張貼文章應注意事項及應提供資訊


    MSDN 文件庫很重要
    回應幫助你的人是一種禮貌, 良好的禮貌有助於激發大家對你問題回應的熱情
    進步的人會找尋自己程式中的缺點,半桶水則把自己程式的錯誤推到不相干事物的身上
    2010年3月31日 上午 11:26
  • To Pacino:

       建議你先看看以下這篇文章

    張貼文章應注意事項及應提供資訊


    MSDN 文件庫很重要
    回應幫助你的人是一種禮貌, 良好的禮貌有助於激發大家對你問題回應的熱情
    進步的人會找尋自己程式中的缺點,半桶水則把自己程式的錯誤推到不相干事物的身上

    謝謝您的提醒,我會詳讀這篇文章,下次發問時會依照文章內的規範~~
    2010年3月31日 下午 01:53