0

我是一名网页设计师,只知道足够的 html 和 css。

现在我在家里工作在一个新的网络上,这是一个使用响应式的相当大的项目。

我已经(当然)花了很多时间使它适用于 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

连我自己都能理解。我只是为所有版本的 IE 使用不同的 css 表,而不是为其余浏览器使用普通的 css 表。

但是在升级到 Windows 8.1 之后.. 我现在有 IE11 并且上面的代码不再起作用(它现在使用默认的 css 表)

问题是我今天需要工作好几个小时,因为明天早上我必须向我们的客户展示网络状态......在所有浏览器中,我正在尝试给我的伴侣打电话,但我无法联系到他(他已经失业,不能抱怨)。

所以,我真的希望你们中的任何人都可以告诉我一个检测所有 ie(包括 ie11)的简单方法,这样我就可以继续工作。我很绝望。

提前。

注意:不,我不能降级到 ie10(不允许)不能降级到 Windows 8(除非格式化 PC,这不是一个选项)

4

1 回答 1

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 的某些方面,但这些是更高级的项目,例如拖放。即使这样,您也可以在该特定功能不可用时为回退进行编码,而不是提供完全不同的样式表。

于 2013-10-21T15:50:56.533 回答