我是一名网页设计师,他对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表,而其他浏览器的正常IE版本。
但升级到Windows 8.1之后..我现在已经IE11,上面的代码不再起作用了(它现在使用默认的css表)
问题是我需要今天工作几个小时,因为明天早上我必须向我们的客户展示网络状态......在所有浏览器中,我都试图给我的伴侣打电话但我无法联系到他(他已经失业了,不能抱怨)。
所以,我真的希望你们中的任何人都可以告诉我一个简单的方法来检测所有ie(包括ie11),这样我就可以继续工作了。我非常绝望。
事先提前。注意:不,我不能降级到ie10(不允许)不能降级到Windows 8(除非格式化PC不是一个选项)
答案 0 :(得分: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的某些方面,但这些是更高级的项目,例如拖放。即便如此,当您无法使用该特定功能而不是提供完全不同的样式表时,您会编写代码。