正如標(biāo)題所說,這篇文章就是來告訴大家怎么去解決這個(gè)三個(gè)問題。
答案是使用JavaScript 中的navigator 對(duì)象。
這個(gè)對(duì)象可以做很多事情
判斷是否是安卓
var isAndroid = /Android/i.test(navigator.userAgent);
判斷是否是IOS系統(tǒng)
var isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
判斷是否是手機(jī)瀏覽器
var isMobile = /mobi/i.test(navigator.userAgent.toLowerCase());
console.log(isAndroid);
console.log(isIOS);
console.log(isMobile);
判斷是否正常聯(lián)網(wǎng)
navigator.onLine // true
讓手機(jī)震動(dòng)
首先判斷瀏覽器是否支持
var supportsVibrate = "vibrate" in navigator;
if(supportsVibrate){
// 振動(dòng)1秒
navigator.vibrate(1000);
} else {
console.log('不支持震動(dòng)');
}
震動(dòng)多次還可以傳數(shù)組
// 參數(shù)分別是震動(dòng)3秒,等待2秒,然后振動(dòng)1秒
navigator.vibrate([3000, 2000, 1000]);
如果想停止震動(dòng),你只需要向navigator.vibrate方法里傳入0,或一個(gè)空數(shù)組:
navigator.vibrate(0);navigator.vibrate([]);
獲取地理位置信息
navigator.geolocation.getCurrentPosition(); 在pc端使用誤差挺大的。手機(jī)上測(cè)試經(jīng)度還是不錯(cuò)的,當(dāng)然還可以通過配置enableHighAcuracy設(shè)置為高經(jīng)度模式,默認(rèn)為false。
navigator.geolocation.getCurrentPosition(locationSuccess, locationError, {
enableHighAcuracy: true,
timeout: 5000,
maximumAge: 3000 });
具體使用方法可以參見w3cshool中HTML5 地理定位 章節(jié),用法還是很簡(jiǎn)單的。