2011-11-03 39 views
3

我正在尝试构建一个网站。强制是它应该可以在Iphone,Android,Samsung Galaxy S/S2,Ipad,Samsung Galaxy Tab等上运行。并且必须给出相同的经验。有没有一种方法可以检测到移动浏览器正在提出页面请求,并相应地使用Jquery为其制作的CSS? 我想严格使用HTML5,JQuery,CSS3。检测移动浏览器发出请求调用

回答

5

你的默认样式扩展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> 
+0

嘿,谢谢!这正是我需要的。 –

2

您将需要CSS3媒体查询来检测设备宽度,分辨率和方向。一个好的起点是你使用移动锅炉板 - http://html5boilerplate.com/mobile

+0

感谢您的提示。我会通读说明。任何进一步的帮助是赞赏 –

-2

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

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

顶部

$_SERVER['HTTP_USER_AGENT'] 

OR

$browser = get_browser(null, true); 
print_r($browser); 
+0

是get_browser一个内置函数?如果不是它需要什么使它工作。它没有工作! –

+0

-1这里没有关于PHP的内容。你不能假设他使用PHP--它不是世界上唯一的服务器端网页语言。 – BoltClock

0

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

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

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

大多数网站像梅赛德斯奔驰,ebay,mtv印度,谷歌等这样做是通过使用像[NetBiscuits](http://www.netbiscuits.com/)设计他们的移动网站。这样他们就编写了一次代码(尽管在BiscuitML中)并且NetBiscuits完成了检测移动设备和优化网站的工作。例如,检查使用NetBiscuits的这个link客户。

NetBiscuits可能不是唯一一个这样做的框架(我知道IBM提供了一个解决方案作为他们websphere门户服务器的一部分),但是我知道的最受欢迎。