繁体   English   中英

代码或JavaScript以实现浏览器兼容性

[英]code or javascript for browser compatibility

我正在asp.net中开发一个Web应用程序 -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 让示例变得容易理解,并集成到我的应用程序中...

这不是常见的方法。 但是,请考虑为每种浏览器类型使用单独的样式表 规则的名称(类名称)在每个样式表中都相同。 然后,仅加载所需的样式表。

这是一种动态加载样式表的方法( 在此进行讨论 )。

<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";

}

这是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检测到浏览器名称,并将class名称设置为body元素。 您的CSS规则会对该类名称做出反应,并为每个浏览器以不同的颜色标记标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM