js

js判断是安卓 还是 ios webview?

天大地大妈咪最大 提交于 2020-04-01 07:47:26
通过判断浏览器的userAgent,用正则来判断是否是 ios 和 Android 客户端。 代码 如下: <script type="text/javascript"> var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 alert('是否是Android:'+isAndroid); alert('是否是iOS:'+isiOS); </script> 可以打开你的 Android 手机或者 iphone 扫描看看 下面一个比较全面的浏览器检查函数,提供更多的检查内容,你可以检查是否是移动端( Mobile )、ipad、iphone、微信、QQ等。 第一种:来自http://blog.baiwand.com/?post=176 <script type="text/javascript"> //判断访问终端 var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion;

js作用域

被刻印的时光 ゝ 提交于 2020-04-01 06:12:11
1.js的作用域是有函数划分的,而不是块儿 var too="test"; if(true){//这是在块中的定义,此时还是全局变量 var too="new test"; } alert(too=="new test");//return true; function test() { var too="old test";//这是在函数中的定义,此时是局部变量 } test(); alert(too=="new test");//return true;too并没有改变 2.所有属于全局作用域的变量都是window对象的属性 上面例子中 第一行的 too就是等于 window.too 看下面的例子 function test() { too="test"; } test(); alert(window.too="test"); 是不是很奇怪,上面例子中函数中的too是局部变量,在这里就是全局变量了 注意下两个例子的区别,一个通过显示声明 var too 一个隐示声明too="test"; 也就是说没有显示定义的变量,它就是全局变量,虽然它可能只能在这个函数内使用。 作用域(scope)是JavaScript语言的基石之一,在构建复杂程序时也可能是最令我头痛的东西。记不清多少次在函数之间传递控制后忘记 this关键字引用的究竟是哪个对象,甚至,我经常以各种不同的混乱方式来曲线救国

js操作读取excel文档

好久不见. 提交于 2020-04-01 03:21:49
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <script type="text/javascript"> function ReadExcel() { var tempStr = ""; //得到文件路径的值 var filePath = document.getElementById("upfile").value; //创建操作EXCEL应用程序的实例 var oXL = new ActiveXObject("Excel.application"); //打开指定路径的excel文件 var oWB = oXL.Workbooks.open(filePath); //操作第一个sheet(从一开始,而非零) oWB.worksheets(1)

js分时函数

我是研究僧i 提交于 2020-04-01 01:16:57
qq中有10000个好友,每秒中渲染20个好友: var timeChunk = function(arr, fn, count) { var t; var start = function() { for(var i = 0; i < Math.min(count || 1, arr.length); i++) { var obj = arr.shift(); fn(obj) } } return function() { t = setInterval(function() { if(arr.length == 0) { return clearInterval(t) } start(); }, 1200) } } var arr = []; for(var i = 0; i < 1000; i++) { arr.push(i) } var renderList = timeChunk(arr, function(n) { var div = document.createElement('div'); div.innerHTML = n; document.body.appendChild(div); }, 8) renderList() 来源: https://www.cnblogs.com/qiyc/p/11310893.html

给cas自定义login界面

喜你入骨 提交于 2020-04-01 00:29:55
2. 修改jsp登录页面 离线文件准备好后,就可以对CAS的jsp文件下手了。不过这里强烈建议不要在原有的文件上进行修改,最好建立一份新的theme。具体办法如下: (1)停掉Tomcat服务,进入“%TOMCAT_HOME%\webapps\cas\WEB-INF\view\jsp”文件夹,把default文件夹复制一份在本目录下,取名“custom”。 (2)进入“%TOMCAT_HOME%\webapps\cas\themes”文件夹,将default文件夹复制一份在本目录下,取名“custom”。 (3)进入“%TOMCAT_HOME%\webapps\cas\WEB-INF\classes”文件夹,将“default_views.properties”文件复制一份并重新命名为“custom_views.properties”。 (4)将离线登录页面中做好的“cas.css”文件拷贝到新建的“%TOMCAT_HOME%\webapps\cas\themes\custom”文件夹;将样式文件中用到的图片拷贝到“%TOMCAT_HOME%\webapps\cas\images”文件夹。(注意:css文件中引用图片的相对路径不要搞错。) (5)接下来是修改“%TOMCAT_HOME%\webapps\cas\WEB-INF\view\jsp\custom\ui

DOM Access and Manipulation JS 操纵DOM

余生颓废 提交于 2020-03-31 13:31:10
  JS 操纵DOM 有两种很简单的方式: 如果知道ID 的情况下. 我们可以使用 document.getElementById 我们还可以使用 document.getElementById("testId").textContent = "0"; document.querySelector(".testClass").classList.toggle("active"); 我们还可以把function赋值到event listener中. Ps: 这里是赋值, 而不是调用. 如果调用init, 应该是init() document.querySelector(".btn-new").addEventListener("click",init); function init() { console.log("HelloWorld!"); } 我们还可以生成click event handler 来监听click. document.querySelector(".btn-test").addEventListener("click", function() { console.log("HelloWorld!"); }); 我们可以在 MDN 查看到所有的event listener 事件 来源: https://www.cnblogs.com/TheMiao/p

js中检测数据类型的几种方式

那年仲夏 提交于 2020-03-31 06:50:22
1、typeof 一元运算符,用来检测数据类型。只可以检测number,string,boolean,object,function,undefined。 对于基本数据类型是没有问题的,但是遇到引用数据类型是不起作用的(无法细分对象)   let str = '{}'; let fn = function(){}; let obj = {}; let ary = []; let rg = /\d/; console.log(typeof str);//string console.log(typeof fn);//function console.log(typeof obj);//object console.log(typeof ary);//object console.log(typeof rg);//object    2、instanceof(二元运算符,需要两个操作数) 检测某个对象是不是另外一个对象的实例 instanceof只能用来判断对象和函数,不能用来判断字符串和数字 let arr = [1,2,3]; console.log(arr instanceof Array);//true 检测arr是不是内置类Array的实例 3、constructor js中所有对象都继承于Object,constructor是其中的一个属性。默认指向实例的构造函数(可以修改

Node介绍

两盒软妹~` 提交于 2020-03-30 23:45:55
官网 https://nodejs.org Node.js 不是一门语言,不是库、框架 是一个JavaScript运行时环境 , 简单来说就是Node.js可以解析和执行JavaScript代码。 以前只有浏览器可以解析执行js代码,现在js可以脱离浏览器来运行,归功于Node.js 浏览器中的JavaScript 1) EcmaScript:基础语法、if、var、function、Object、Array 2)BOM 3)DOM Node.js中的Javascript 1)没有BOM、DOM 2)有EcmaScript 3) 在Node这个js执行环境中为js提供来一些服务器级别的操作API 如:文件读写、网络服务的构建、网络通信、http服务器等处理 Node.js特性 1)事件驱动 2)非阻塞IO模型(异步),使其轻量和高效 npm npm是世界上最大的开源库生态系统,绝大多数js相关的包都放在npm上,方便开发人员下载使用 来源: https://www.cnblogs.com/stringarray/p/12602221.html

js面向对象思想话矩形

女生的网名这么多〃 提交于 2020-03-30 22:42:32
<html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="main" style="position:relative"></div> <script> function Rect(options) { this._init(options); } Rect.prototype={ //属性 _init:function (options) { //父标签 this.parentId=options.parentId; //位置 this.left=options.left||100; this.top=options.top||100; //自身的属性 this.width=options.width||100; this.height=options.height||50; this.bgColor=options.bgColor||'#000'; this.borderRadius=options.borderRadius||0; this.border=options.border||'none'; }, //行为 render:function () { //1.获取父标签 var parentEle=document.getElementById

JS监测产品有效曝光

左心房为你撑大大i 提交于 2020-03-30 21:06:56
电商列表页面,数据加载,并不是写到了列表的产品图都被客户看见了。有时候根本没有被加载 判断加载 浏览器是否能判断一张图,加载完毕,如果可以那么触发JS,推送一次曝光数据 轮询图片 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>img - complete attribute</title> </head> <body> <img id="img1" src=" http://pic1.win4000.com/wallpaper/f/51c3bb99a21ea.jpg"&gt ; <p id="p1">loading...</p> <script type="text/javascript"> function imgLoad(img, callback) { var timer = setInterval(function() { if (img.complete) { clearInterval(timer); callback(); } }, 50) } imgLoad(img1, function() { // p1.innerHTML = '加载完毕'; //Ajax 触发监测系统 传送产品ID }) </script> </body> </html> 图片的onload <!DOCTYPE HTML