实用JS代码
浏览器功能
如下代码判断是手机还是电脑访问的网站
function IsPC () {
var userAgentInfo = navigator.userAgent
var Agents = ['Android', 'iPhone', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod']
var flag = true
for (var i = 0; i < Agents.length; i++) {
if (userAgentInfo.indexOf(Agents[i]) > 0) {
flag = false
break
}
}
return flag
}
判断IE,微信,安卓
// ie浏览器
function isIE () {
var userAgent = navigator.userAgent
return userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1 && !isOpera
}
// 微信浏览器
function isWeiChat () {
var userAgent = navigator.userAgent
return userAgent.toLowerCase().indexOf('micromessenger') > -1 // 微信浏览器
}
// 是否是安卓
function isAndroid () {
var userAgent = navigator.userAgent
return userAgent.indexOf('Android') > -1 || userAgent.indexOf('Adr') > -1
}
具体信息
function BrowserType () {
var userAgent = navigator.userAgent
var isOpera = userAgent.indexOf('Opera') > -1
var isIE = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1 && !isOpera
var isEdge = userAgent.indexOf('Edge') > -1
var isFF = userAgent.indexOf('Firefox') > -1
var isSafari = userAgent.indexOf('Safari') > -1 && userAgent.indexOf('Chrome') == -1
var isChrome = userAgent.indexOf('Chrome') > -1 && userAgent.indexOf('Safari') > -1
if (isIE) {
var reIE = new RegExp('MSIE (\\d+\\.\\d+);').test(userAgent)
var fIEVersion = parseFloat(RegExp['$1'])
if (fIEVersion === 7) {
return 'IE7'
} else if (fIEVersion === 8) {
return 'IE8'
} else if (fIEVersion === 9) {
return 'IE9'
} else if (fIEVersion === 10) {
return 'IE10'
} else if (fIEVersion === 11) {
return 'IE11'
} else {
return null //IE版本过低
}
if (isFF) {
return 'FF'
} else if (isOpera) {
return 'Opera'
} else if (isSafari) {
return 'Safari'
} else if (isChrome) {
return 'Chrome'
} else if (isEdge) {
return 'Edge'
}
}
1.1 复制黏贴
完成复制功能
// 复制
function copy () {
var input = document.getElementById('input')
input.select()
document.execCommand('Copy')
}
document.execCommand('SelectAll') // 打开
document.execCommand('SaveAs') // 另存为
document.execCommand('Print') // 打印
document.execCommand('Cut', 'false', null) // 剪切
document.body.clientWidth // 网页可见区域宽 document.body.clientHeight // 网页可见区域高 document.body.offsetWidth // 网页可见区域宽 (包括边线的宽) document.body.offsetHeight // 网页可见区域高 (包括边线的高) document.body.scrollWidth // 网页正文全文宽 document.body.scrollHeight // 网页正文全文高 document.body.scrollTop // 网页被卷去的高 document.body.scrollLeft // 网页被卷去的左 window.screenTop // 网页正文部分上 window.screenLeft // 网页正文部分左 window.screen.height // 屏幕分辨率的高 window.screen.width // 屏幕分辨率的宽 window.screen.availHeight // 屏幕可用工作区高度 window.screen.availWidth // 屏幕可用工作区宽度
js操作cookie
// 设置cookies
function setCookie (op) {
var key = op.key
var value = op.value
var time = op.time || 2 * 24 * 60 * 60 * 1000 // 默认2天
var url = op.url ? ';path=/;domain=.' + op.url : ''
var exp = new Date()
exp.setTime(exp.getTime() + time)
document.cookie = key + '=' + escape(value) + ';expires=' + exp.toGMTString() + url
}
// 获取cookies
function getCookie (key) {
if (typeof key === 'string') {
return getOne(key)
} else if (key instanceof Array) {
var cookie = {}
key.forEach(function (item) {
cookie[item] = getOne(item)
})
return cookie
}
function getOne (name) {
var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)')
var arr = document.cookie.match(reg)
if (arr) return unescape(arr[2])
return null
}
}
// 移除Cookie
function removeCookie (key) {
var exp = new Date()
exp.setTime(exp.getTime() - 1)
var value = getCookie(key)
if(value != null) document.cookie = key + "=" + value + ";expires=" + exp.toGMTString()
}
setTimeout(function(a){console.log(a)}, 2000, 'done');//done
//setTimeout用法,setTimeout(回调函数,时间,参数1,...,参数n)。
实用JS代码的更多相关文章
- 实用js代码大全
实用js代码大全 //过滤数字 <input type=text onkeypress="return event.keyCode>=48&&event.keyC ...
- JavaScript学习总结(10)——实用JS代码大全
事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event. ...
- 实用的JS代码段(表单篇)
整理了下比较实用的Javascript代码段,完整的代码参考 1 多个window.onload方法 由于onload方法时在页面加载完成后,自动调用的.因此被广泛的使用,但是弊端是只能实用onloa ...
- 实用在线小工具 -- JS代码压缩工具
实用在线小工具 -- JS代码压缩工具 将JS代码进行压缩可以减少内存占用,下面链接是一个在线JS代码压缩工具,它将多余的空格和换行符压缩了. JS代码压缩工具链接:http://jspack ...
- 让JS代码Level提升的忍者秘籍(实用)
本文章共2377字,预计阅读时间5-10分钟. 前言 没有前言. 你准备好成为同事眼中深藏不露.高深莫测.阳光帅气的前端开发了吗? 那就开始吧! 本文秉承宗旨:代码实用与逼格并存. 提升JS代码Lev ...
- 超级实用且不花哨的js代码大全
事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcEl ...
- (转)超级实用且不花哨的js代码大全
事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcE ...
- 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!【转载+整理】
原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructu ...
- 中国省市 JS代码
很实用的一段JS代码, 用户注册的时候,选择地址常用到.代码如下: <script language="javascript"> var g_selProvince; ...
随机推荐
- e的故事.一个常数的传奇 (Eli Maor 著)
第1章 约翰*纳皮尔 (已看) 第2章 认知 (已看) 对数运算 第3章 财务问题 (已看) 第4章 若极限存在,则达之 (已看) 一些与e有关的奇妙的数 第5章 发现微积分的先驱 (已看) 第6章 ...
- redis之 3.0集群安装
1. 集群 即使有了主从复制,每个数据库都要保存整个集群中的所有数据,容易形成木桶效应. 使用Jedis实现了分片集群,是由客户端控制哪些key数据保存到哪个数据库中,如果在水平扩容时就必须手动进行数 ...
- TypeScript 之 书写.d.ts文件
https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Writing%20Definition%20Files.html ...
- npm install --save 和 --save-dev
最近在写Node程序的时候,突然对 npm install 的-save和-save-dev 这两个参数的使用比较混乱.其实博主在这之前对这两个参数的理解也是模糊的,各种查资料和实践后对它们之间的异同 ...
- 如何编译运行HanLP自然语言处理包
master分支 对于master分支,编译方法如下: git clone https://github.com/hankcs/HanLP.git mvn install -DskipTests · ...
- 记录一次linux删除mysql
service mysqld status service mysqld stop ps –ef | grep mysql perl-DBD-MySQL-4.013-3.el6.x86_64 //删除 ...
- 在没有go-pear.bat的php中安装pear
因为需要安装phpunit,要先装pear,网上的教程大多数是以双击go-pear.bat开始,但是我安装的php文件夹里压根没有这个文件.经过几次搜索之后终于找到了办法.解决步骤如下:1.下载下面连 ...
- thinkPHP 3.2.3操作MongoDB指南
今天使用thinkPHP操作MongoDB发现跟用MYSQL有很多不同的地方,在这里特别跟大家分享下. 暂时没用thinkPHP5一直还在用thinkPHP3.2.3觉得挺好用,MongoDB版本2和 ...
- excel技巧--一键求和
类似于上图的表格,我们要得到右侧和下侧栏的汇总结果,通常可以用sum公式加下拉方式,但是还有一种方法更快速,那就是使用 ALT + “+=”组合键就能一下子得到所有汇总结果.(+=键,就是一个键,该键 ...
- 《剑指offer(第二版)》——面试题36:二叉搜索树与双向链表
具体的题目大意和参考思路在此处不详述(见<剑指offer>),实质就是在中序遍历的过程中调整指针的指向,关于中序遍历有递归和非递归两种操作,所以此处也用了两种方法. 方法1(递归法): 代 ...