检测移动浏览器发出请求呼叫

时间:2011-11-03 13:00:46

标签: javascript jquery html5 css3

我正在努力建立一个网站。强制性的是它应该适用于Iphone,机器人,三星Galaxy S / S2,Ipad,三星Galaxy Tab等。并且必须给予相同的经验。有没有办法检测移动浏览器正在发出页面请求,并相应地使用Jquery应用为它制作的CSS? 我想严格使用HTML5,Jquery,CSS3。

4 个答案:

答案 0 :(得分:5)

页面顶部的默认样式表

 <link rel="stylesheet" href="default.css" type="text/css">

扩展jquery库以检测iphone / ipad

 <script type="text/javascript">
      jQuery.extend(jQuery.browser,
      {SafariMobile : navigator.userAgent.toLowerCase().match(/iP(hone|ad)/i) }
 );
 </script>

然后检查浏览器是否属于类型并相应地更改样式表

 <script type="text/javascript">
      $(function(){
        if($.browser.SafariMobile){
          $("link[rel=stylesheet]").attr({href : "iphone.css"});
        }
      })
 </script>

答案 1 :(得分:2)

您需要CSS3媒体查询来检测设备宽度,分辨率和方向。您可以使用的一个很好的起点是Mobile Boilerplate - http://html5boilerplate.com/mobile

答案 2 :(得分:0)

在一般情况下,您要做的事情非常困难。 浏览器检测不是问题所在。可以使用上面给出的任何方法检测浏览器。但是获取屏幕宽度和大小以及HTML支持的实际功能要困难得多。

有一个名为WFURL的开源项目,它维护着所有受支持设备的数据库及其集成和使用的能力。

我们所做的是使用像JQuery Mobile这样的框架,它可以在各种手机中自动提供类似的外观。然而,这个框架仍然非常原始。

大多数网站如梅赛德斯奔驰,ebay,mtv india,谷歌等等,通过使用[NetBiscuits](http://www.netbiscuits.com/)等设计移动网站。这样他们就可以编写一次代码(尽管是在BiscuitML中),而NetBiscuits则负责检测移动设备并优化网站。例如,使用NetBiscuits查看此link客户。

NetBiscuits可能不是唯一能够做到这一点的框架(我知道IBM提供了一个解决方案作为其websphere门户服务器的一部分),但这是我所知道的最流行的。

答案 3 :(得分:-2)

您可以使用以下语句获取有关浏览器的信息。

$_SERVER['HTTP_USER_AGENT']

OR

$browser = get_browser(null, true);
print_r($browser);
相关问题