实用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; ...
随机推荐
- sqler sql 转rest api 防止sql 注入
sqler 对于sql Sanitization 的处理,我们可以使用bind 指令 说明: 这个是2.0 的功能,注意版本的使用 参考格式 addpost { // $input is a ...
- android设备兼容性
原文地址:http://developer.android.com/guide/practices/compatibility.html android被设计成能够在多种不同的设备上执行的系统,为了达 ...
- Dev TextEdit 输入提示
TextEdit.Properties.NullValuePromptShowForEmptyValue = true; TextEdit.Properties.NullValuePrompt = “ ...
- zabbix--3.0--3
使用JMX监控jvm vim /usr/local/tomcat/bin/catalina.sh 添加如下内容 CATALINA_OPTS="$CATALINA_OPTS -Dcom ...
- c/c++ int数组初始化/重置为0
1.int数组其实初始化的时候默认就是全部为0 int a[1000];int a[1000] = {0}; 以上2种写法其实都可以 注意:int a[1000] = {0};这种方法如果想把整形数组 ...
- pyhanlp 中文词性标注与分词简介
pyhanlp 中文词性标注与分词简介 pyhanlp实现的分词器有很多,同时pyhanlp获取hanlp中分词器也有两种方式 第一种是直接从封装好的hanlp类中获取,这种获取方式一共可以获取五种分 ...
- class path resource [spring/ApplicationContext-springmvc.xml] cannot be opened because it does not exist
配置如下: <init-param> <param-name>contextConfigLocation</param-name> <param-va ...
- 【java】进制转换
进制的表现形式: 十进制:0-9 ,满10 进1 八进制:0-7,满8进1,用0开头表示 十六进制:0-9,A-F,满16进1,用0x开头表示 十进制转换二进制: 原理:对十进制数进行除2运算,如37 ...
- NDK学习笔记(Add.cpp注释)(一)
// Add.C // Copyright (c) 2009 The Foundry Visionmongers Ltd. All Rights Reserved. static const char ...
- 最短路径算法——Dijkstra算法与Floyd算法
转自:https://www.cnblogs.com/smile233/p/8303673.html 最短路径 ①在非网图中,最短路径是指两顶点之间经历的边数最少的路径. AE:1 ADE:2 ...