确定皮肤文件中的Safari浏览器?

时间:2013-03-04 17:06:40

标签: c# .net css dotnetnuke skinning

我正在使用dnn6门户网站,并在我的skinpage.ascx中使用此代码。但它没有加载SafariSkin.css。

     <!--[if Safari]>
     <link href="SafariSkin.css" rel="stylesheet" type="text/css" />
     <![endif]-->

     <!--[if !Safari]>
     <link href="Skin.css" rel="stylesheet" type="text/css" />
     <![endif]-->

但如果我将条件更改为“IE”,则可以正常工作。为什么?

我还在以下代码中使用以下代码:

     <dnn:STYLES runat="server" ID="Stylesnotsafari" Name="notsafari" StyleSheet="SafariSkin.css" Condition="Safari" UseSkinPath="true"/>

并且当条件是IE时它再次正常工作。 任何想法??

我该怎么做才能拥有“野生动物园”的条件?

2 个答案:

答案 0 :(得分:2)

由于您使用的是ascx文件,因此您可以使用服务器代码来确定浏览器。

<link href="<%= Request.Browser.Browser == "Safari" ? "SafariSkin.css" : "NotSafari.css" %>" rel="stylesheet" type="text/css" />

要使其正常工作,请确保皮肤语言为C#(第一行,其中language =“vb”,更改为language =“c#”),或将代码修改为上面的VB.net。

此外,对于旧版本的.NET,未正确识别Safari浏览器。如果是这种情况,请阅读更多信息,例如在http://www.velocityreviews.com/forums/t119465-asp-net-2-0-vs-safari-browser.html,以手动更新浏览器检测。

答案 1 :(得分:0)

Safari的目标方式与IE可以通过条件方式相同。

有些hacks可能会在您的标准样式表中发挥作用,但实际上,通过调整html / css的方式来支持Safari(通常远远少于劳动密集型)比在IE中。)