当前位置: 首页 > 面试题库 >

如何检测用户的浏览器并应用特定的CSS文件?

鲁浩渺
2023-03-14
问题内容

我需要检测浏览器并应用匹配的CSS文件。

我创建了3个CSS文件:__ie.css,ff.css,opera.css。现在,我需要检测浏览器才能包含好的浏览器。

我知道这个

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

但是,我该如何使用Firefox和Opera / Chrome?


问题答案:

如果必须仅使用CSS来检测浏览器,那么在进入特定于浏览器的样式表之前,您可能需要重新考虑CSS。一个浏览器只需模仿另一个用户的代理字符串或要发布的新版本,一切便会中断。使用当前的标准并验证您的代码,您将不得不担心更少的跨浏览器问题。即使只使用<!--[if IE]><![endif]-->没有版本号的文件,也可能破坏以后版本的布局。

就是说,如果您想根据可用的CSS功能对页面进行样式设置,请查看Modernizr。这样,您只检查功能,如果发布了新版本的浏览器,功能将不会损坏。

如果所有其他方法都失败了,并且您确实需要检测访问者的浏览器,请尝试jquery.browser。它内置在jQuery中,并且易于使用。。



 类似资料:
  • 我知道这是不好的做法和特征识别应该是建设网站的方式。然而,这不是我的用例。 我有我的浏览器扩展的不同发行版,我想根据他们当前的浏览器更改下载按钮。 我试过使用,事实证明这是非常没用的,因为大多数浏览器都设置了所有流行的用户代理。例如chrome就有这个。 我见过很多网站的下载按钮上都有这个功能。如何做到这一点呢? 编辑:我现在了解了为什么“mozzila/x.x”位于userAgent字符串开头的

  • 问题内容: 我们有一个高级网页(ASP.NET,C#),并且需要在客户端计算机上安装一个应用程序,以便充分利用该网页。该应用程序是一个托盘应用程序,主要有两个任务。检测Web服务器上何时发生某些事件(例如,受邀参加会议或通知即将举行的会议)。trayapp的另一项任务是使用自定义协议(trayapp://)执行一些对服务器的Ajax调用。 我们遇到的一个问题是如何确定应用程序是否安装在本地计算机上

  • 问题内容: 我是angularjs的新手。如何在angularjs中检测到userAgent。可以在控制器中使用它吗?尝试了以下类似的方法,但是没有运气! 我需要专门检测IE9! 问题答案: 就像Eliran Malka询问的那样,为什么需要检查IE 9? 检测浏览器的品牌和版本通常是一种难闻的气味。通常,这意味着如果您需要JavaScript来检测特定版本的浏览器,则代码会有更大的问题。 在某些

  • 我是新的angularjs。我怎么能检测用户代理在angularjs。有可能在控制器中使用它吗?尝试了下面这样的东西,但没有运气! 我需要专门检测IE9!

  • 上面的 svg 代码中,其中 keyPoints 用来控制圆点在路径上的位置。但是发现 keyPoints 是存在兼容性问题的,如果遇到不支持的浏览器,那么就需要回退到不使用动画的效果。其中 animateMotion 元素对应 SVGAnimateMotionElement 的接口,但是不管支不支持,SVGAnimateMotionElement.keyPoints 都是 undefined。遇

  • 我是新加入这个董事会的,但我已经读过你很多年了。:) 我正试着学编码,但我还在第一步。然而,我将使用一个脚本来检测用户的浏览器。 这适用于所有主要的浏览器(我在chrome、firefox和IE上试用过),但它不适用Edge。我该怎么修好它?谢谢!