久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      HTML5新特性之移動設(shè)備API

      為了更好地為移動設(shè)備服務(wù),HTML5推出了一系列針對移動設(shè)備的API。

      1、Geolocation API

      Geolocation接口用于獲取用戶的地理位置。它使用的方法基于GPS或者其他機(jī)制(比如IP地址、WIFI熱點等)。

      下面的方法,可以檢查瀏覽器是否支持這個接口。

      if (navigator.geolocation) {    // 支持} else {    //不支持}

      1.1 getCurrentPosition方法

      getCurrentPosition方法,用來獲取用戶的地理位置。使用它需要得到用戶的授權(quán),瀏覽器會跳出一個對話框,詢問用戶是否許可當(dāng)前頁面獲取他的地理位置。必須考慮兩種情況的回調(diào)函數(shù):一種是同意授權(quán),另一種是拒絕授權(quán)。如果用戶拒絕授權(quán)會拋出一個錯誤。

      navigator.geolocation.getCurrentPosition(geoSuccess, geoError);

      上面代碼指定了處理當(dāng)前地址位置的兩個回調(diào)函數(shù)。

      (1)同意授權(quán)

      如果用戶同意授權(quán),就會調(diào)用geoSuccess。

      function geoSuccess(event) {    var coords = event.coords;      console.log('latitude: ' + coords.latitude);    //緯度      console.log('longitude: ' + coords.longitude);    //經(jīng)度      console.log('accuracy: ' + coords.accuracy);    //精度      console.log('altitude: ' + coords.altitude);    //海拔      console.log('altitudeAccuracy: ' + coords.altitudeAccuracy); //海拔精度(單位:米)      console.log('heading: ' + coords.heading);    //以360度表示的方向      console.log('speed: ' + coords.speed);    //每秒的速度(單位:米)}

      geoSuccess的參數(shù)是一個event對象。event.coords屬性指向一個對象,包含了用戶的位置信息,主要是以下幾個值:

      • coords.latitude:緯度

      • coords.longitude:經(jīng)度

      • coords.accuracy:精度

      • coords.altitude:海拔

      • coords.altitudeAccuracy:海拔精度(單位:米)

      • coords.heading:以360度表示的方向

      • coords.speed:每秒的速度(單位:米)

      (2)拒絕授權(quán)

      如果用戶拒絕授權(quán),就會調(diào)用geoError。

      function geoError(event) {      console.log('Error code ' + event.code + '. ' + event.message);  }

      geoError的參數(shù)也是一個event對象。event.code屬性表示錯誤類型,有四個值:

      • 0:未知錯誤,瀏覽器沒有提示出錯的原因,相當(dāng)于常量event.UNKNOWN_ERROR。

      • 1:用戶拒絕授權(quán),相當(dāng)于常量event.PERMISSION_DENIED

      • 2:沒有得到位置,GPS或其他定位機(jī)制無法定位,相當(dāng)于常量event.POSITION_UNAVAILABLE。

      • 3:超時,GPS沒有在指定時間內(nèi)返回結(jié)果,相當(dāng)于常量event.TIMEOUT。

      event.message為錯誤提示信息。

      (3)設(shè)置定位行為

      getCurrentPosition方法還可以接受一個對象作為第三個參數(shù),用來設(shè)置定位行為。

      var option = {      enableHighAccuracy: true,      timeout: Infinity,      maximumAge: 0};    navigator.geolocation.getCurrentPosition(geoSuccess, geoError, option);

      這個參數(shù)對象有三個成員:

      • enableHighAccuracy:如果設(shè)為true,就要求客戶端提供更精確的位置信息,這會導(dǎo)致更長的定位時間和更大的耗電,默認(rèn)設(shè)置為false。

      • timeout:等待客戶端做出回應(yīng)的最大毫秒數(shù),默認(rèn)值為Infinity(無限)。

      • maxinumAge:客戶端可以使用緩存數(shù)據(jù)的最大毫秒數(shù)。如果設(shè)為0,客戶端不讀取緩存;如果設(shè)為infinity,客戶端只讀取緩存。

      1.2 watchPosition方法和clearWatch方法

      watchPosition方法可以用來監(jiān)聽用戶位置的持續(xù)改變,使用方法與getCurrentPosition方法一樣。

      var watchID = navigator.geolocation.watchPosition(geoSuccess, geoError);

      一旦用戶位置發(fā)生改變,就會調(diào)用回調(diào)函數(shù)。

      如果要取消監(jiān)聽,則使用clearWatch方法。

      navigator.geolocation.clearWatch(watchID);

      2、Vibration API

      Vibration接口用于在瀏覽器中發(fā)出命令,使得設(shè)備振動。由于該操作很耗電,在低電量時最好取消該操作。

      使用下面的代碼檢查該接口是否可用。目前,只有Chrome和Firefox的Android平臺最新版本支持它。

      navigator.vibrate = navigator.vibrate ||                                 navigator.webkitVibrate ||                                 navigator.mozVibrate ||                                 navigator.msVibrate;if (navigator.vibrate) {    // 支持}

      vibrate方法可以使得設(shè)備振動,它的參數(shù)就是振動持續(xù)的毫秒數(shù)。

      navigator.vibrate(1000);

      上面的代碼使得設(shè)備振動1秒鐘。

      vibrate方法還可以接受一個數(shù)組作為參數(shù),表示振動的模式。偶數(shù)位置的數(shù)組成員表示振動的毫秒數(shù),奇數(shù)位置的數(shù)組成員表示等待的毫秒數(shù)。

      navigator.vibrate([500, 300, 500]);

      上面代碼表示,設(shè)備先振動500毫秒,然后等待300毫秒,再接著振動500毫秒。

      vibrate是一個非阻塞式的操作,即手機(jī)振動的同時,JavaScript代碼繼續(xù)向下運行。要停止振動,只有將0毫秒傳入vibrate方法。

      navigator.vibrate(0);

      3、亮度調(diào)節(jié)

      當(dāng)移動設(shè)備的亮度傳感器,感知外部亮度發(fā)生顯著變化時,會觸發(fā)devicelight事件。目前,只有Firefox布署了這個API。

      window.addEventListener('devicelight', function(event) {      console.log(event.value + 'lux');  })

      下面代碼表示,devicelight事件的回調(diào)函數(shù),接受一個事件對象作為參數(shù)。該對象的value屬性就是亮度值。

      這種API的一種應(yīng)用是,我們可以針對亮度的強弱來改網(wǎng)頁背景和文字顏色。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號