【问题标题】:code or javascript for browser compatibility用于浏览器兼容性的代码或 javascript
【发布时间】:2012-05-01 22:25:50
【问题描述】:

我正在用asp.net - c#开发一个网络应用程序 - c#....

如果我将定义 css 类,例如:

.IEStyle{color:Red;}
.FFStyle{color:Blue;}
.DefaultStyle{color:Black;}    

我只为标签尝试过....

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

这很好,但它不可能一直存在......我仍然面临浏览器兼容性问题......任何人建议我这样做我正在寻找javascript。举个例子让我很容易理解并集成到我的应用程序中......

【问题讨论】:

  • 我会质疑为什么你需要一个浏览器特定的主题。维护和测试对您来说并不容易......
  • 我质疑他们为什么也想要浏览器特定的 text...
  • 尝试检测特定浏览器几乎总是错误的方法……但您还没有告诉我们您认为浏览器检测可以帮助您解决什么问题,因此我们无法推荐更好的方法。跨度>
  • 他只是在测试代码.. :p
  • 我只是举个例子,我正在寻找解决它的最佳方法.....

标签: c# javascript asp.net css


【解决方案1】:

这不是一种常见的方法。但是,请考虑为每种浏览器类型设置单独的样式表。每个样式表中的规则名称(类名称)都相同。然后,只加载您想要的样式表。

这是动态加载样式表的一种方法 (discussion here)。

<link id="myLinkstyle" runat="server" rel="Stylesheet" type="text/css">

protected void Page_Load(object sender, EventArgs e)

{

System.Web.HttpBrowserCapabilities browser = Request.Browser;

if (browser.Browser.ToLower() == "ie")

myLinkstyle.Href = "CSS/IEStyles.css";

else

myLinkstyle.Href = "CSS/OtherBrowserStyle.css";

}

【讨论】:

    【解决方案2】:

    这是css:

    /*default*/
    label{color : #000;}
    /*ie*/
    .ie label{color : #ff0000;}
    /*ff*/
    .firefox label{color : #0000ff;}
    

    这里是 js 部分:

    if(navigator.userAgent.test(/firefox/i))
        document.body.className += ' ff';
    else if(navigator.userAgent.test(/msie/i))
        document.body.className += ' ie';
    // else => default
    

    以下是发生的情况:javascript 检测浏览器名称并在 body 元素上设置一个类名。您的 css 规则对该类名称做出反应,并为每个浏览器为标签着色。

    【讨论】:

    • “其他方式”是什么意思?按照相同的逻辑,您可以像@DOK 所说的那样加载不同的样式表,但是如果您想要基于不同浏览器模式的不同样式,您将进行浏览器嗅探即使它是在服务器端或客户端完成的。告诉我什么不适合你。
    • 当我开发一个网站时,它在 Mozilla FF 中运行良好,但是当加载到其他浏览器(如 chrome、IE)中时......它看起来完全不同,例如按钮、下拉列表等 asp 网络控件。 .**我使用了免费的布局模板**所以我能做些什么...我是第一次开发任何网站...所以请帮助我
    猜你喜欢
    • 2012-10-19
    • 1970-01-01
    • 2011-09-01
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 2012-08-09
    相关资源
    最近更新 更多