常用JS方法

前言

记录常用又背不过的JS方法!

禁止文字选中

1
<body onselectstart="return false"></body>

判断当前设备机型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var browser={
versions:function(){
var u = navigator.userAgent;
return {
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
Mac: u.indexOf('Macintosh') > -1, // 是否是Mac
webApp: u.indexOf('Safari') == -1, //是否为Safari浏览器
weixin: u.indexOf('MicroMessenger') > -1, //是否微信
qq: !!u.match(/\sQQ|\sTIM/i) //是否QQ或TIM
}
}()
};

document.readyState

描述了文档加载时的状态。

1
2
3
4
5
document.onreadystatechange = function() {
if(document.readyState === "XXX") {
// 执行方法
}
}

文档加载时会触发三个状态:

  • loading / 加载

    document正在加载。

  • interactive / 加载中

    文档已经完成加载,文档已被解析,但是诸如图像,样式表和框架之类的子资源仍在加载。

  • complete / 加载完成

    文档和所有子资源已完成加载。状态表示 load事件即将被触发。

字符串大小写转换

1
2
3
4
5
var str = 'qweSAQ xa SA 12 ADsf'; // 随机字符串
console.log(str.toLocaleUpperCase()); // 将所有小写字母转换为大写字母
console.log(str.toLocaleLowerCase()); // 将所有大写字母转换为小写
console.log(str.toLowerCase()); // 将所有大写字母转换为小写
console.log(str.toUpperCase()); // 将所有小写字母转换为大写字母

js刷新页面

1
location.reload()

监听页面是否隐藏(最小化)

1
2
3
document.visibilitychange = function() {

}
  • document.hidden:表示页面是否隐藏的布尔值。页面隐藏包括 页面在后台标签页中 或者 浏览器最小化 (注意,页面被其他软件遮盖并不算隐藏,比如打开的 sublime 遮住了浏览器)。
  • document.visibilityState:表示下面 4 个可能状态的值
  • hidden:页面在后台标签页中或者浏览器最小化
  • visible:页面在前台标签页中
  • prerender:页面在屏幕外执行预渲染处理 document.hidden 的值为 true
  • unloaded:页面正在从内存中卸载
  • Visibilitychange事件:当文档从可见变为不可见或者从不可见变为可见时,会触发该事件。

栗🌰子:

1
2
3
4
5
6
7
8
9
10
11
// 页面取消焦点时暂停定时器
document.addEventListener('visibilitychange',function() {
// 兼容写法
var isHidden = document.hidden || document.webkitHidden;
if(isHidden) {
// 离开了页面
clearInterval("定时器名称");
}else {
// 回到了页面
}
})
-------------End,感谢阅读!-------------

本文标题:常用JS方法

文章作者:加贝H

原始链接:https://jiabeih.cn/2018/09/06/常用JS方法/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。