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

第一种, jquery

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

<!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 } #map_canvas { height: 100% } </style> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"> </script> <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 οnlοad="initialize()"> </body> </html>

第二种Java:

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:

<%@ 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浏览器这些第三方浏览器,可能就不准了!


python, php, ror, .Net这些的话都可以借鉴第二种方式!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值