2013-10-21 78 views
0

我是一個網頁設計人員,只是知道足夠的HTML和CSS。我該如何修改此代碼才能使其與IE 11兼容?

現在我正在一個新的網絡在家工作,這是一個相當大的使用響應的項目​​。

我花費了很多時間(當然)花費了很多時間使它適用於Ie8,ie9,並且至少在1e7中可以很好地看到(ie10足夠好)。

一個工作夥伴,誰知道的東西,Visual Basic中,寫了我這個小小的代碼:

Protected Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init 
    ' Para seleccionar Las CSS que tiene que utilizar el navegador 
    If HttpContext.Current.Request.Browser.Browser.ToUpper = "IE" Then 
     LinkCSS.Href = "~/Estilos/estilos_IE.css" 
    Else 
     LinkCSS.Href = "~/Estilos/estilos.css" 
    End If 
End Sub 

甚至自己可以uderstand。我爲所有版本的IE都使用了不同的css表單,這些表單對於其他瀏覽器來說都是正常的。

但升級到Windows 8.1之後..我現在IE11和上面的代碼不工作了(它現在使用默認的CSS表)

的問題是我今天要不少時間作爲tomnorrow早晨,我必須向我們的客戶展示網絡狀態......在所有瀏覽器中,我正嘗試給我的伴侶打電話,但我無法聯繫到他(他已經失業,無法抱怨) 。所以,我真的希望你們中的任何人都能告訴我一個簡單的方法來檢測所有ie ie(包括ie11),這樣我就可以繼續工作。我很絕望。

ty提前。

注:不,我不能降級到IE10(不允許),不能降級到Windows 8的(除非格式的PC是不是一個選項)

+4

不要使用後面的代碼檢測瀏覽器,在你的標記中使用條件語句,看看這個[question](http://stackoverflow.com/questions/17814486/detect-ie9-without-feature-detection) – Liam

+0

什麼HttpContext.Current.Request.Browser.Browser'等於IE11,我看不到他們改變這個 – Pete

+1

如果你不想做Liam說你可以使用'HttpContext.Current.Request.Browser.UserAgent。包含(「Trident」),因爲IE11用戶代理是Mozilla/5.0(Windows NT 6.1; Trident/7.0; rv 11.0),如Gecko' – megawac

回答

1

闖過直接的問題:

Protected Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init 
    ' Para seleccionar Las CSS que tiene que utilizar el navegador 
    If (HttpContext.Current.Request.Browser.Browser.ToUpper = "IE") or HttpContext.Current.Request.Browser.UserAgent.contains("Trident") Then 
     LinkCSS.Href = "~/Estilos/estilos_IE.css" 
    Else 
     LinkCSS.Href = "~/Estilos/estilos.css" 
    End If 
End Sub 

但是,我想說你應該花一些時間學習doctypes是什麼,不同的瀏覽器支持什麼,並且實際上確定了你爲什麼需要首先進行瀏覽器檢測。 99%的設計工作沒有必要執行,只是使事情不必要地複雜化。

某些情況下各種瀏覽器不支持HTML5的某些方面,但這些是更高級的項目,例如拖/放。即使那樣,當代碼沒有提供完全不同的樣式表時,代碼就會回落。

+0

當我對網絡相當陌生時,會重新回顧舊的問題。很抱歉,(相當大)延遲給你·「接受」 –