注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

_

_

 
 
 

日志

 
 

[Mobile Web]Web中如何分辨移动设备?(iPad、iPhone、Android)  

2014-09-09 04:31:24|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

[Mobile Web]Web中如何分辨移动设备?(iPad、iPhone、Android)

分类: Java 【Android基础】 2012-03-29 22:11 2112人阅读 评论(0) 收藏 举报

webandroidiphoneipadmobile

第一种, Javascript

[javascript] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. var deviceAgent = navigator.userAgent.toLowerCase();?
  2. var agentID = deviceAgent.match(/(iphone|ipod|ipad|android)/);?
  3. if(agentID.indexOf("iphone")>=0){?
  4. ? alert("iphone");?
  5. }?
  6. if(agentID.indexOf("ipod")>=0){?
  7. ? alert("ipod");?
  8. }?
  9. if(agentID.indexOf("ipad")>=0){?
  10. ? alert("ipad");?
  11. }?
  12. if(agentID.indexOf("android")>=0){?
  13. ? alert("android");?
  14. }?
var deviceAgent = navigator.userAgent.toLowerCase();
 var agentID = deviceAgent.match(/(iphone|ipod|ipad|android)/);
 if(agentID.indexOf("iphone")>=0){
  alert("iphone");
 }
 if(agentID.indexOf("ipod")>=0){
  alert("ipod");
 }
 if(agentID.indexOf("ipad")>=0){
  alert("ipad");
 }
 if(agentID.indexOf("android")>=0){
  alert("android");
 }

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6. <style type="text/css">
  7. ? html { height: 100% }?
  8. ? body { height: 100%; margin: 0px; padding: 0px }?
  9. </style>
  10. <script type="text/javascript">
  11. ? function initialize() {?
  12. ??? var useragent = navigator.userAgent;?
  13. ??? if (useragent.indexOf('iPhone') != -1) {?
  14. ??????? alert("iPhone");?
  15. ??? } else if(useragent.indexOf('iPad') != -1 ) {?
  16. ??????? alert("iPad");?
  17. ??? } else if(useragent.indexOf('Android') != -1 ) {?
  18. ??????? alert("Android");?
  19. ??? } else {?
  20. ??????? alert("其他平台");?
  21. ??? }?
  22. ? }?
  23. </script>
  24. </head>
  25. <body onload="initialize()">
  26. </body>
  27. </html>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
  html { height: 100% }
  body { height: 100%; margin: 0px; padding: 0px }
</style>
<script type="text/javascript">
  function initialize() {
	var useragent = navigator.userAgent;
	if (useragent.indexOf('iPhone') != -1) {
		alert("iPhone");
	} else if(useragent.indexOf('iPad') != -1 ) {
		alert("iPad");
	} else if(useragent.indexOf('Android') != -1 ) {
		alert("Android");
	} else {
		alert("其他平台");
	}
  }
</script>
</head>
<body onload="initialize()">
</body>
</html>

第二种 Java:

[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. Enumeration?? typestr = request.getHeaderNames();??
  2. String s1 = request.getHeader("user-agent");?
  3. if(s1.contains("Android")) {?
  4. ??? System.out.println("Android移动客户端");?
  5. } else if(s1.contains("iPhone")) {?
  6. ??? System.out.println("iPhone移动客户端");?
  7. }? else if(s1.contains("iPad")) {?
  8. ??? System.out.println("iPad客户端");?
  9. }? else {?
  10. ??? System.out.println("其他客户端");?
  11. }?
		Enumeration   typestr = request.getHeaderNames(); 
		String s1 = request.getHeader("user-agent");
		if(s1.contains("Android")) {
			System.out.println("Android移动客户端");
		} else if(s1.contains("iPhone")) {
			System.out.println("iPhone移动客户端");
		}  else if(s1.contains("iPad")) {
			System.out.println("iPad客户端");
		}  else {
			System.out.println("其他客户端");
		}

整个页面 index.jsp:

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <link rel="shortcut icon" href="favicon.ico">
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>Insert title here</title>
  8. </head>
  9. <body>
  10. <%?
  11. ??????? Enumeration?? typestr = request.getHeaderNames();??
  12. ??????? String s1 = request.getHeader("user-agent");?
  13. ??????? if(s1.contains("Android")) {?
  14. ??????????? System.out.println("Android移动客户端");?
  15. ??????? } else if(s1.contains("iPhone")) {?
  16. ??????????? System.out.println("iPhone移动客户端");?
  17. ??????? }? else if(s1.contains("iPad")) {?
  18. ??????????? System.out.println("iPad客户端");?
  19. ??????? }? else {?
  20. ??????????? System.out.println("其他客户端");?
  21. ??????? }?
  22. ??? %>
  23. </body>
  24. </html>
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="shortcut icon" href="favicon.ico">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		Enumeration   typestr = request.getHeaderNames(); 
		String s1 = request.getHeader("user-agent");
		if(s1.contains("Android")) {
			System.out.println("Android移动客户端");
		} else if(s1.contains("iPhone")) {
			System.out.println("iPhone移动客户端");
		}  else if(s1.contains("iPad")) {
			System.out.println("iPad客户端");
		}  else {
			System.out.println("其他客户端");
		}
	%>
</body>
</html>

这两种方法测试下来,一般情况下可以满足需要,遇到像UC浏览器这些第三方浏览器,可能就不准了!

  评论这张
 
阅读(154)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017