如何知道我的.net应用程序运行在哪个浏览器上?

时间:2011-09-06 06:09:58

标签: c# .net browser safari

我想在不同的浏览器上应用不同的CSS。

我想在野生动物园时运行一个css,在其他所有人中运行第二个。

我如何根据那个检测到并应用css?

5 个答案:

答案 0 :(得分:2)

您可以使用CSS浏览器选择器。网上有不同的解决方案。

例如:

CSS Browser Selector

CSS浏览器选择器是一个小型JavaScript库,允许您为每个浏览器包含不同的级联样式表(CSS)。

一个例子:

<style type="text/css">
.ie .example {
    background-color: yellow
}
.ie7 .example {
    background-color: orange
}
.opera .example {
    background-color: green
}
.webkit .example {
    background-color: black
</style>

如果您使用谷歌“每个浏览器不同的CSS”,您也可以找到其他解决方案,但大多数解决方案归结为类似的解决方案。

另一种方法是检测ASP.NET中的浏览器类型和功能,以便您可以呈现适当的HTML / CSS / ...等。您可以在此处找到有关该主题的更多信息:

http://msdn.microsoft.com/en-us/library/3yekbd5b.aspx

例如:

private void Button1_Click(object sender, System.EventArgs e)
{
    System.Web.HttpBrowserCapabilities browser = Request.Browser;
    string s = "Browser Capabilities\n"
        + "Type = "                    + browser.Type + "\n"
        + "Name = "                    + browser.Browser + "\n"
        + "Version = "                 + browser.Version + "\n"
        + "Major Version = "           + browser.MajorVersion + "\n"
        + "Minor Version = "           + browser.MinorVersion + "\n"
        + "Platform = "                + browser.Platform;

    TextBox1.Text = s;
}

Request的Browser属性返回一个HttpBrowserCapabilities对象。它包含有关客户端上运行的浏览器功能的信息。

http://msdn.microsoft.com/en-us/library/system.web.httpbrowsercapabilities.aspx

答案 1 :(得分:2)

您可以检查UserAgent对象的Request属性。

页面内部标记

<%# Request.UserAgent.ToLower().Contains("safari") ?
    "<link rel='stylesheet' type='text/css' href='safari.css' />" :
    "<link rel='stylesheet' type='text/css' href='other.css' />" %>

答案 2 :(得分:2)

在你的控制中使用以下东西....你可以为不同的浏览器设置不同的样式...到asp.net文本框控件。

<asp:TextBox ID="TestTextBox" runat="server" ie:Text="You are in Internet explorer."  mozilla:Text="You are in Firefox." Text="You are in other browser." ie:CssClass="IEStyle"  mozilla:CssClass="FFStyle" CssClass="DefaultStyle" />

答案 3 :(得分:0)

使用Request.Browser您可以确定浏览器用户正在使用您的

答案 4 :(得分:0)

你可以从javascript中查看:

if (navigator.appName == 'Microsoft Internet Explorer') {
                var fileref = document.createElement("link")
                fileref.setAttribute("rel", "stylesheet")
                fileref.setAttribute("type", "text/css")
                fileref.setAttribute("href", filename)
            }