JS浏览器导航栏navigator的一些冷知识
监听屏幕旋转变化接口: orientationchange
orientation.angle : 0 竖屏 , 90 向左横屏 , -90/270 向右横屏 , 180 倒屏
screenOrientation: function(){ let self = this; let orientation = screen.orientation || screen.mozOrientation || screen.msOrientation; window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() { self.angle = orientation.angle; }); },
电池状态:navigator.getBattery()
charging:是否充电
chargingTime:还需充电时间
dischargingTime:剩余电量
level:剩余电量百分数
onchargingchange:监听充电状态的改变 --可监听事件
onchargingtimechange:监听充电时间的改变 --可监听事件
ondischargingtimechange: 监听电池可用时间的改变 --可监听事件
onlevelchange:监听剩余电量百分数的改变 --可监听事件
getBatteryInfo: function(){ let self = this; if(navigator.getBattery){ navigator.getBattery().then(function(battery) { // 判断是否在充电 self.batteryInfo = battery.charging ? `在充电 : 剩余 ${battery.level * 100}%` : `没充电 : 剩余 ${battery.level * 100}%`; // 电池充电状态改变事件 battery.addEventListener('chargingchange', function(){ self.batteryInfo = battery.charging ? `在充电 : 剩余 ${battery.level * 100}%` : `没充电 : 剩余 ${battery.level * 100}%`; }); }); }else{ self.batteryInfo = '不支持电池状态接口'; } },
让你的手机震动: window.navigator.vibrate(200)
测试发现只有UC浏览器目前支持
vibrateFun: function(){ let self = this; if( navigator.vibrate ){ navigator.vibrate([500, 500, 500, 500, 500, 500, 500, 500, 500, 500]); }else{ self.vibrateInfo = "您的设备不支持震动"; } <!-- // 清除震动 navigator.vibrate(0); // 持续震动 setInterval(function() { navigator.vibrate(200); }, 500); --> },
当前语言:navigator.language
getThisLang:function(){ const langList = ['cn','hk','tw','en','fr']; const langListLen = langList.length; const thisLang = (navigator.language || navigator.browserLanguage).toLowerCase(); for( let i = 0; i < langListLen; i++ ){ let lang = langList[i]; if(thisLang.includes(lang)){ return lang }else { return 'en' } } }
//返回浏览器的内部名称 window.navigator.appCodeName //返回浏览器版本号 window.navigator.appVersion //获取设备的网络连接信息 window.navigator.onLine //返回用户的位置信息 let geolocation = window.navigator.geolocation { var watchID = navigator.geolocation.watchPosition(function(position) { do_something(position.coords.latitude, position.coords.longitude); }); } //浏览器 UI 的语言 window.navigator.language //表示网站访客所使用的语言 window.navigator.languages //MediaDevices 该对象可提供对相机和麦克风等媒体输入设备的连接访问,也包括屏幕共享 var mediaDevices = window.navigator.mediaDevices; mediaDevices.getUserMedia({ audio: true, video: true }).then(function (stream) { }).catch(function (err) { })
以上就是JS导航栏navigator的一些冷知识的详细内容,更多关于JS导航栏navigator的资料请关注脚本之家其它相关文章!
相关文章
获取offsetTop和offsetLeft值的js代码(兼容)
offsetTop和offsetLeft的值在某些特殊的情况下是会使用到的,为了实现值的准确获取,本文采用js代码实现下,有需求的朋友可以参考下哈2013-04-04JavaScript监听文本框回车事件并过滤文本框空格的方法
这篇文章主要介绍了JavaScript监听文本框回车事件并过滤文本框空格的方法,涉及javascript操作文本框获取、清空及删除空格的技巧,需要的朋友可以参考下2015-04-04
最新评论