HTML5+获取设备信息

Posted killer-leon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML5+获取设备信息相关的知识,希望对你有一定的参考价值。

          阿里云低价服务器1折特惠,优惠爽翻天,点我立即低价购买

Device模块管理设备信息,用于获取手机设备的相关信息,如IMEI、IMSI、型号、厂商等。通过plus.device获取设备信息管理对象。

1、属性

1.1、imei: 设备的国际移动设备身份码,调用此属性获取设备的国际移动设备身份码。 如果设备不支持则返回空字符串。

平台支持:android - 2.2+ (支持),ios - 4.5+ (不支持): iOS设备不支持获取imei值,返回空字符串。

示例:

 

[htmlview plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. alert( "IMEI: " + plus.device.imei );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 获取设备的国际移动设备身份码  
  20. </body>  
  21. </html>  

 

 

1.2、imsi: 设备的国际移动用户识别码,字符串数组类型,获取设备上插入SIM的国际移动设备身份码。 如果设备支持多卡模式则返回所有SIM身份码。 如果设备不支持或没有插入SIM卡则返回空数组。

 

 

平台支持:Android - 2.2+ (支持): 如果设备没有插入SIM卡,则返回空数组。

iOS - 4.5+ (不支持): iOS设备不支持获取SIM卡信息,返回空数组。

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. alert( "IMSI: " + plus.device.imsi );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 获取设备的国际移动用户识别码  
  20. </body>  
  21. </html>  

 

 

1.3、model: 设备的型号,调用此属性获取设备的型号信息。 如果设备不支持则返回空字符串。

 

 

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. alert( "Device: " + plus.device.model );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 获取设备的型号  
  20. </body>  
  21. </html>  

 

 

1.4、vendor: 设备的生产厂商,调用此属性获取设备的生产厂商信息。 如果设备不支持则返回空字符串。

 

 

平台支持:Android - 2.2+ (支持)、iOS - 4.3+ (支持)

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. alert( "Vendor: " + plus.device.vendor );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 获取设备的生产厂商  
  20. </body>  
  21. </html>  

 

 

1.5、uuid: 设备的唯一标识,调用此属性获取设备的唯一标识号。

 

 

平台支持:Android - 2.2+ (支持): 与设备的imei号一致。注意:如果无法获取设备imei则使用设备wifi的mac地址,如果无法获取设备mac地址则随机生成设备标识号,确保不同App在同一台设备上获取的值一致。iOS - 4.5+ (支持): 根据包名随机生成的设备标识号。注意:在设备重置后会重新生成。

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. alert( "uuid: "+plus.device.uuid );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 获取设备的唯一标识号  
  20. </body>  
  21. </html>  

 

 

2、方法

 

 

2.1、dial: 拨打电话

      void plus.device.dial( number, confirm );

说明:调用系统程序拨打电话。

参数:

number: ( String ) 必选 要拨打的电话号码

confirm: ( Boolean ) 可选 是否需要用户确认后开始拨打电话,设置为true表示打开系统拨打电话界面,需用户点击拨号按钮后才开始拨打电话,false则无需确认直接拨打电话,默认值为true。

返回值:void : 无

平台支持:Android - 2.2+ (支持)、iOS - 5.1+ (支持): 忽略confirm参数,调用直接拨打电话。

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9.   
  10. if(window.plus)  
  11. plusReady();  
  12. else  
  13. document.addEventListener("plusready",plusReady,false);  
  14.   
  15. function dialTest()   
  16. plus.device.dial( "10086", false );  
  17.   
  18. </script>  
  19. </head>  
  20. <body>  
  21. 拨打电话<br/>  
  22. <button onclick="dialTest()">Dial</button>  
  23. </body>  
  24. </html>   


 

2.2、beep: 发出蜂鸣声

        void plus.device.beep( times );

说明:调用此方法使得设备发出蜂鸣声。

参数:

times: ( Number ) 可选 蜂鸣声重复的次数,默认发出一次蜂鸣声

返回值:void : 无

平台支持:Android - 2.2+ (支持): 播放系统设置中指定的默认通知铃声,iOS - 4.3+ (支持): 忽略times参数,播放系统的通知铃声

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. plus.device.beep( 3 );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 发出蜂鸣声<br/>  
  20. </body>  
  21. </html>  

 

 

2.3、vibrate: 设备振动

 

 

         plus.device.vibrate( milliseconds );

说明:调用此方法使得设备振动。

参数:

milliseconds: ( Number ) 必选 设备振动持续的时间,数值类型,单位为ms,默认为500ms。

返回值:void : 无

平台支持:Android - 2.2+ (支持): 振动指定的时长。iOS - 4.3+ (支持): 不支持milliseconds参数,使用系统默认振动时长,仅iPhone设备支持,iPad和iTouch设备不支持,调用此接口无任何效果。 注意:如果在系统设置中关闭振动功能则无法调用设备振动(设置->声音->振动)。

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. plus.device.vibrate( 2000 );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 设备振动<br/>  
  20. </body>  
  21. </html>  

 

 

2.4、setWakelock: 设置应用是否保持唤醒(屏幕常亮)状态

 

 

         plus.device.setWakelock( lock );

 

说明:调用此方法设置应用是否一直保持唤醒状态,保持唤醒状态将会导致程序屏幕常亮、系统不会自动锁屏,从而导致消耗更多的电量。若未设置一直保持唤醒状态则会根据系统设置自动锁定屏幕。

参数:

lock: ( Boolean ) 必选 是否设置程序一直保持唤醒状态,可取值true或false,true表示设定程序一直保持唤醒状态,false表示关闭程序一直保持唤醒状态。程序退出后将恢复默认状态,默认为关闭程序保持唤醒状态。

返回值:void : 无

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. // 开启一直保持程序唤醒状态  
  10. plus.device.setWakelock( true );  
  11.   
  12. if(window.plus)  
  13. plusReady();  
  14. else  
  15. document.addEventListener("plusready",plusReady,false);  
  16.   
  17. </script>  
  18. </head>  
  19. <body>  
  20. 设置应用保持唤醒(屏幕常亮)状态<br/>  
  21. <button onclick="plus.device.setWakelock(false)">UnWakelock</button>  
  22. </body>  
  23. </html>  

 

 

2.5、isWakelock: 获取程序是否一直保持唤醒(屏幕常亮)状态

 

 

             Boolean plus.device.isWakelock();

说明:调用此方法获取程序是否一致保持唤醒状态。

返回值:Boolean : 返回ture表示程序已设置为一直保持唤醒状态,返回false表示程序未设置为一直保持唤醒状态。

2.6、setVolume: 设置设备的系统音量

             plus.device.setVolume( volume );

说明:调用此方法调节设备的系统音量。

参数:

volume: ( Number ) 必选 设备的系统音量值,取值范围为0到1,0表示静音,1表示最大音量值。设置设备音量后对所有程序生效,退出程序系统仍然保持最后设定的音量值。

返回值:void : 无

平台支持:iOS - 4.3+ (支持)。Android - 2.2+ (支持): 设置音量后对所有项的音量生效,如通话音量、系统音量、铃声音量、音乐音量、提示声音音量。

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. // 设置音量  
  10. plus.device.setVolume( 0.5 );  
  11.   
  12. if(window.plus)  
  13. plusReady();  
  14. else  
  15. document.addEventListener("plusready",plusReady,false);  
  16.   
  17. </script>  
  18. </head>  
  19. <body>  
  20. 设备的系统音量值<br/>  
  21. </body>  
  22. </html>  

 

 

2.7、getVolume: 获取设备的系统音量

 

 

              Number plus.device.getVolume();

说明:系统音量值范围为0到1,0表示静音,1表示最大音量值。

返回值:Number : 系统的音量值

3、对象

3.1、screen: Screen模块管理设备屏幕信息

3.1.1、属性

  1)、resolutionHeight: 设备屏幕高度分辨率

    plus.screen.resolutionHeight;

说明:Number 类型 只读属性,设备屏幕区域包括系统状态栏显示区域和应用显示区域,screen获取的是设备屏幕总区域的逻辑分辨率,单位为px。 如果需要获取实际分辨率则需要乘以比例值scale。

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. alert( "Screen height: " + plus.screen.resolutionHeight*plus.screen.scale + "px" );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 设备屏幕高度分辨率<br/>  
  20. </body>  
  21. </html>  

 

 

  2)、resolutionWidth: 设备屏幕宽度分辨率

 

 

            plus.screen.resolutionWidth;

说明:Number 类型 只读属性,设备屏幕区域包括系统状态栏显示区域和应用显示区域,screen获取的是设备屏幕总区域的分辨率,单位为px。 如果需要获取实际分辨率则需要乘以比例值scale。

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. alert( "Screen width: " + plus.screen.resolutionWidtht*plus.screen.scale + "px" );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 设备屏幕宽度分辨率<br/>  
  20. </body>  
  21. </html>  


  

  3)、scale: 逻辑分辨率与实际分辨率的比例

          plus.screen.scale;

说明:Number 类型 只读属性,屏幕分辨率分逻辑分辨率率和实际分辨率,在html页面中使用的像素值都是相对于逻辑分辨率,此值就是逻辑分辨率和实际分辨率的比例,实际分辨率=逻辑分辨率*比例。

平台支持:Android - 2.2+ (支持),iOS - 4.3+ (支持)

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. alert( "Screen resolution: " + plus.screen.resolutionWidth*plus.screen.scale + " x " + plus.screen.resolutionHeight*plus.screen.scale );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 逻辑分辨率与实际分辨率的比例<br/>  
  20. </body>  
  21. </html>  

 

 

  4)、dpiX: 设备屏幕水平方向的密度

 

 

        plus.screen.dpiX;

说明:Number 类型 只读属性,设备屏幕的密度为每英寸所显示的像素点数,密度越高显示清晰度越高,单位为dpi。

平台支持:Android - 2.2+ (支持)。iOS - 4.3+ (支持)

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. alert( "Screen dip in X: " + plus.screen.dpiX );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 设备屏幕水平方向的密度<br/>  
  20. </body>  
  21. </html>  

 

 

  5)、dpiY: 设备屏幕垂直方向的密度

 

 

           plus.screen.dpiY;

说明:Number 类型 只读属性,设备屏幕的密度为每英寸所显示的像素点数,密度越高显示清晰度越高,单位为dpi。

平台支持:Android - 2.2+ (支持),iOS - 4.3+ (支持)

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. alert( "Screen dip in Y: " + plus.screen.dpiY );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 设备屏幕垂直方向的密度<br/>  
  20. </body>  
  21. </html>  

 

 

3.1.2方法

 

 

 1)、setBrightness: 设置屏幕亮度

      plus.screen.setBrightness( brightness );

说明:调用此方法调节设备屏幕亮度。

参数:brightness: ( Number ) 必选 屏幕的亮度值,取值范围为0到1,0表示最低亮度值,1表示最高亮度值。设置屏幕亮度仅对当前程序在前台运行时有效,退出程序后屏幕亮度由系统设置的值决定。

返回值:void : 无

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. // 设置屏幕亮度  
  10. plus.screen.setBrightness( 0.5 );  
  11.   
  12. if(window.plus)  
  13. plusReady();  
  14. else  
  15. document.addEventListener("plusready",plusReady,false);  
  16.   
  17. </script>  
  18. </head>  
  19. <body>  
  20. 设置屏幕亮度<br/>  
  21. </body>  
  22. </html>  

 

 

  2)、getBrightness: 获取屏幕亮度值

 

 

          Number plus.screen.getBrightness();

说明:屏幕亮度值范围为0到1,0表示最低亮度值,1表示最高亮度值。

返回值:Number : 返回程序的屏幕亮度值

  3)、lockOrientation: 锁定屏幕方向

           void plus.screen.lockOrientation( String orientation );

说明:锁定屏幕方向后屏幕只能按锁定的屏幕方向显示,关闭当前页面后仍然有效。 可再次调用此方法修改屏幕锁定方向或调用unlockOrientation()方法恢复到应用的默认值。

参数:

orientation: ( String ) 必选 要锁定的屏幕方向值,锁定屏幕方向可取以下值: "portrait-primary": 竖屏正方向; "portrait-secondary": 竖屏反方向,屏幕正方向按顺时针旋转180°; "landscape-primary": 横屏正方向,屏幕正方向按顺时针旋转90°; "landscape-secondary": 横屏方向,屏幕正方向按顺时针旋转270°; "portrait": 竖屏正方向或反方向,根据设备重力感应器自动调整; "landscape": 横屏正方向或反方向,根据设备重力感应器自动调整;

返回值:void : 无

  4)、unlockOrientation: 解除锁定屏幕方向

        void plus.screen.unlockOrientation();

说明:解除锁定屏幕方向后将恢复应用默认的屏幕显示方向(通常为应用打包发布时设置的方向)。

返回值:void : 无

3.2、display: Display模块管理应用可使用的显示区域信息

属性:

(1)、resolutionHeight: 应用可使用的屏幕高度逻辑分辨率

             plus.display.resolutionHeight;

说明:Number 类型 只读属性,设备屏幕区域包括系统状态栏显示区域和应用显示区域,display获取的是应用显示区域的逻辑分辨率,单位为px。 如果需要获取实际分辨率则需要乘以比例值scale。

平台支持:Android - 2.2+ (支持),iOS - 4.3+ (支持)

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. alert( "Display height: " + plus.display.resolutionHeight*plus.screen.scale + "px" );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 应用可使用的屏幕高度逻辑分辨率<br/>  
  20. </body>  
  21. </html>  

 

 

(2)、resolutionWidth: 应用可使用的屏幕宽度逻辑分辨率

 

 

              plus.display.resolutionWidth;

说明:Number 类型 只读属性,设备屏幕区域包括系统状态栏显示区域和应用显示区域,display获取的是应用显示区域的逻辑分辨率,单位为px。 如果需要获取实际分辨率则需要乘以比例值scale。

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. alert( "Display width: " + plus.display.resolutionWidth*plus.screen.scale + "px" );  
  10.   
  11. if(window.plus)  
  12. plusReady();  
  13. else  
  14. document.addEventListener("plusready",plusReady,false);  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19. 应用可使用的屏幕宽度逻辑分辨率<br/>  
  20. </body>  
  21. </html>  

 

 

3.3、networkinfo: Device模块用于获取网络信息

 

 

3.3.1、常量

(1)、CONNECTION_UNKNOW: 网络连接状态未知

(2)、CONNECTION_NONE: 未连接网络

(3)、CONNECTION_ETHERNET: 有线网络

(4)、CONNECTION_WIFI: 无线WIFI网络

(5)、CONNECTION_CELL2G: 蜂窝移动2G网络

(6)、CONNECTION_CELL3G: 蜂窝移动3G网络

(7)、CONNECTION_CELL4G: 蜂窝移动4G网络

3.3.2、方法

getCurrentType: 获取设备当前连接的网络类型

       Number plus.networkinfo.getCurrentType();

说明:获取当前设备连接的网络类型,返回值为网络类型常量,可取值CONNECTION_*常量。

返回值:Number : 设备当前网络类型

平台支持:Android - 2.3+ (支持),iOS - 4.3+ (支持): 无法区分蜂窝移动网络类型,在蜂窝移动网络环境下均返回CONNECTION_CELL2G。

示例:

 

[html]  view plain  copy    
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <title>Device Example</title>  
  6. <script type="text/javascript">  
  7. // H5 plus事件处理  
  8. function plusReady()  
  9. var types = ;  
  10. types[plus.networkinfo.CONNECTION_UNKNOW] = "Unknown connection";  
  11. types[plus.networkinfo.CONNECTION_NONE] = "None connection";  
  12. types[plus.networkinfo.CONNECTION_ETHERNET] = "Ethernet connection";  
  13. types[plus.networkinfo.CONNECTION_WIFI] = "WiFi connection";  
  14. types[plus.networkinfo.CONNECTION_CELL2G] = "Cellular 2G connection";  
  15. types[plus.networkinfo.CONNECTION_CELL3G] = "Cellular 3G connection";  
  16. types[plus.networkinfo.CONNECTION_CELL4G] = "Cellular 4G connection";  
  17. alert( "Network: " + types[plus.networkinfo.getCurrentType()] );  
  18.   
  19. if(window.plus)  
  20. plusReady();  
  21. else  
  22. document.addEventListener("plusready",plusReady,false);  
  23.   
  24. </script>  
  25. </head>  
  26. <body>  以上是关于HTML5+获取设备信息的主要内容,如果未能解决你的问题,请参考以下文章

    HTML5+获取设备信息

    HTML5+获取设备信息

    HTML5 或者JS可以获取移动设备信息吗?或者其他非开发语言的方法

    如何使用HTML5地理位置定位功能

    独特的设备识别

    「GIS教程」使用HTML5获取设备的方向信息