中止javascript执行的方法


-
JS没有PHP的exit, 也没有JAVA的return。 如果JS代码不是函数,则需要中止JS执行时,只有一个办法,那就是: [removed].href=your_url; 此外,throw虽能中止,但仍是不友好的出错信息,所以,如果想友好中止,只能是以上方法。 因此,非函数模式的代码,是无法停留在当前页面实现中止的。

24KB
中止javascript执行的方法
2020-10-26本篇文章主要是对中止javascript执行的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
40KB
javascript延时重复执行函数 lLoopRun.js
2020-12-07function lLoopRun(sFuncLoop,sFuncEnd,nDelay) { //writen by http://fengyan.iecn.cn //sFuncLoop >> 字符串型,需要重复执行的Javascript函数或语句(多个函数或语句请用;分隔) //sFuncEnd >> 字符串型,用于中止重复执行动作(sFuncLoop)的Javascript函数或语句 //nDelay >> 数字型,重复执行的时间间隔(毫秒数) var vintervalId = null; var runString = sFuncLoop; var stopString
4.88MB
javascript高级教程
2009-03-24javascript高级教程 1、运算符 运算符就是完成操和的一系列符号,它有七类: 赋值运算符(=,+=,-=,*=,/=,%=)、算术运算符(+,-,*,/,++,--)、比较运算符(>,<,<=,>=,==,===,!=)、逻辑运算符(||,&&,!)、条件运算(?:)、位移运算符(|,&)和字符串运算符。 可能很多人不知道"==="什么。 在这里,我为大家解释一下,在javascript中 "==="才是全等 只有"==="两边的内存地址也相等 才会返回真 而"=="只是值相等就会返回真 例如:null==undefined 会返回真 , 但是null===undefined 就会返回假! 2、表达式 运算符和操作数的组合称为表达式,通常分为四类:赋值表达式、算术表达式、布尔表达式和字符串表达式。 3、语句 Javascript程序是由若干语句组成的,语句是编写程序的指令。Javascript提供了完整的基本编程语句,它们是: 赋值语句、switch选择语句、while循环语句、for循环语句、do while循环语句、break循环中止语句、continue循环中断语句、with语句、try...catch语句、 if语句(if..else,if...else if ...)。 4、函数 函数是命名的语句段,这个语句段可以被当作一个整体来引用不着和执行。使用函数要注意以下几点: 1)函数由关键字function定义; 2)函数必须先定义后使用,否则将出错; 3)函数名是调用函数时引用的名称,它对大小写是敏感的,调用函数时不可写错函数名; 4)参数表示传递给函数使用或操作的值,它可以是常量,也可以是变量; 5)return语句用于返回表达式的值,也可以没有。 一般的函数都是以下格式: function myFunction(params){ //执行的语句 } 函数表达式: var myFunction=function(params){ //执行的语句 } 匿名函数,它常作为参数在其他函数间传递: window.addEventListener('load',function(){ //执行的语句 },false); 5、对象 Javascript的一个重要功能就是基于对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。 一组包含数据的属性和对属性中包含数据进行操作的方法,称为对象。比如要设定网页的背景颜色,所针对的对象就是document,所用的属性名是bgcolor,如document.bgcolor="blue",就是表示使背景的颜色为蓝色。 6、事件 用户与网页交互时产生的操作,称为事件。事件可以由用户引发,也可能是页面发生改变,甚至还有你看不见的事件(如Ajax的交互进度改变)。绝大部分事都由用户的动作所引发,如:用户按鼠标的按钮,就产生click事件,若鼠标的指针的链接上移动,就产生mouseover事件等等。在Javascript中,事件往往与事件处理程序配套使用。 而对事件的处理,W3C的方法是用addEventListener()函数,它有三个参数:事件,引发的函数,是否使用事件捕捉。为了安全性,建议将第三个参数始终设置为false; MSIE的方法就是定义元素的on...事件,它就是W3C的方法中的事件参数前加一个“on”。学习Javascript比较快速有效的方法是先熟悉一些基本概念,然后找几个别人设计好的程序认真仔细地分析一遍,再稍作改动,再看看能否达到预期目的,不断地举一反三,既可以加深对一些参数、设计方法的理解,又可以快速地提高自己的水平。另外,再提醒一下:Javascript对大小写是敏感的,特别是一些对象、方法、属性的大小写一定要一致,要养成一种良好的习惯,否则在调试程序时可要累死你了。 7、变量 如 var myVariable = "some value"; 变量有它的类型,上例中myVariable的类型为string(字符串) javascript支持的常用类型还有: number:数(包括浮点数); boolean:布尔值,只有true和false两个值,是所有类型中占用内存最少的; null:一个空值,唯一的值是null; undefined:没有定义和赋值的变量 实际上javascript的变量是弱变量类型,你赋值给他的是字符串,他就是String . 是数字他就是整形。是true和false他就是boolean型(注意,不能加引号,不然会被当成字符串处理)。
66KB
javascript函数的解释
2011-02-26javascript函数的解释,解释了具体函数的功能,一、函数JavaScript函数集合 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase(); 7.JS中的值类型:String,Number,Boolean,Null,Object,Function 8.JS中的字符型转换成数值型:parseInt(),parseFloat() 9.JS中的数字转换成字符型:(""+变量) 10.JS中的取字符串长度是:(length) 11.JS中的字符与字符相连接使用+号. 12.JS中的比较操作符有:==等于,!=不等于,>,>=,<.<= 13.JS中声明变量使用:var来进行声明 14.JS中的判断语句结构:if(condition){}else{} 15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop} 16.循环中止的命令是:break 17.JS中的函数定义:function functionName([parameter],...){statement[s]} 18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替. 19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self 20.状态栏的设置:window.status="字符"; 21.弹出提示信息:window.alert("字符"); 22.弹出确认框:window.confirm(); 23.弹出输入提示框:window.prompt(); 24.指定当前显示链接的位置:window.location.href="URL" 25.取出窗体中的所有表单的数量:document.forms.length 26.关闭文档的输出流:document.close(); 27.字符串追加连接符:+= 28.创建一个文档元素:document.createElement(),document.createTextNode() 29.得到元素的方法:document.getElementById() 30.设置表单中所有文本型的成员的值为空: var form = window.document.forms[0] for (var i = 0; i<form.elements.length;i++){ if (form.elements[i].type == "text"){ form.elements[i].value = ""; } } 31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE) 32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length 33.单选按钮组判断是否被选中也是用checked. 34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值) 35.字符串的定义:var myString = new String("This is lightsword"); 36.字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase(); 37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到. 38.取字符串中指定位置的一个字符:StringA.charAt(9); 39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6); 40.数学函数:Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(value1,value2)返回两个数中的最在 值,Math.pow(value1,10)返回value1的十次方,Math.round(value1)四舍五入函数,Math.floor (Math.random()*(n+1))返回随机数 41.定义日期型变量:var today = new Date(); 42.日期函数列表:dateObj.getTime()得到时间,dateObj.getYear()得到年份, dateObj.getFullYear()得到四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到 日,dateObj.getDay()得到日期几,dateObj.getHours()得到小时,dateObj.getMinutes()得到分, dateObj.getSeconds()得到秒,dateObj.setTime(value)设置时间,dateObj.setYear(val)设 置年,dateObj.setMonth(val)设置月,dateObj.setDate(val)设置日,dateObj.setDay(val)设 置星期几,dateObj.setHours设置小时,dateObj.setMinutes(val)设置分,dateObj.setSeconds (val)设置秒 [注意:此日期时间从0开始计] 43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName 44.parent代表父亲对象,top代表最顶端对象 45.打开子窗口的父窗口为:opener 46.表示当前所属的位置:this 47.当在超链接中调用JS函数时用:(javascript:)来开头后面加函数名 48.在老的浏览器中不执行此JS:<!-- //--> 49.引用一个文件式的JS:<script type="text/javascript" src="aaa.js"></script> 50.指定在不支持脚本的浏览器显示的HTML:<noscript></noscript> 51.当超链和ONCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:<a href= "a.html" onclick="location.href='b.html';return false">dfsadf</a> 52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number, Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError 53.JS中的换行:\n 54.窗口全屏大小:<script>function fullScreen(){ this.moveTo(0,0); this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;</script> 55.JS中的all代表其下层的全部元素 56.JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 1 57.innerHTML的值是表单元素的值:如<p id="para">"how are <em>you< /em>"</p>,则innerHTML的值就是:how are <em>you</em> 58.innerTEXT的值和上面的一样,只不过不会把<em>这种标记显示出来. 59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态. 60.isDisabled判断是否为禁止状态.disabled设置禁止状态 61.length取得长度,返回整型数值 62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc 63.window.focus()使当前的窗口在所有窗口之前. 64.blur()指失去焦点.与FOCUS()相反. 65.select()指元素为选中状态. 66.防止用户对文本框中输入文本:onfocus="this.blur()" 67.取出该元素在页面中出现的数量:document.all.tags("div(或其它HTML标记符)").length 68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless() 69.状态栏文字的设置:window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.'; 70.添加到收藏夹:external.AddFavorite("http://www.dannyg.com","jaskdlf"); 71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError; 72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续. 73.JS中的self指的是当前的窗口 74.JS中状态栏显示内容:window.status="内容" 75.JS中的top指的是框架集中最顶层的框架 76.JS中关闭当前的窗口:window.close(); 77.JS中提出是否确认的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");} 78.JS中的窗口重定向:window.navigate("http://www.sina.com.cn"); 79.JS中的打印:window.print() 80.JS中的提示输入框:window.prompt("message","defaultReply"); 81.JS中的窗口滚动条:window.scroll(x,y) 82.JS中的窗口滚动到位置:window.scrollby 83.JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout 84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]); 85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue= "we really like you and hope you will stay longer.";}} window.onbeforeunload=verifyClose; 86.当窗体第一次调用时使用的文件句柄:onload() 87.当窗体关闭时调用的文件句柄:onunload() 88.window.location的属性: protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),pathname("/a/a.html"),hash("#giantGizmo",指跳转到相应的锚记),href(全部的信息) 89.window.location.reload()刷新当前页面. 89-1.parent.location.reload()刷新父亲对象(用于框架) 89-2.opener.location.reload()刷新父窗口对象(用于单开窗口) 89-3.top.location.reload()刷新最顶端对象(用于多开窗口) 90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的URL) 91.document.write()不换行的输出,document.writeln()换行输出 92.document.body.noWrap=true;防止链接文字折行. 93.变量名.charAt(第几位),取该变量的第几位的字符. 94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值. 95.字符串连接:string.concat(string2),或用+=进行连接 96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算) 97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置. 98.string.match(regExpression),判断字符是否匹配. 99.string.replace(regExpression,replaceString)替换现有字符串. 100.string.split(分隔符)返回一个数组存储值. 101.string.substr(start[,length])取从第几位到指定长度的字符串. 102.string.toLowerCase()使字符串全部变为小写. 103.string.toUpperCase()使全部字符变为大写. 104.parseInt(string[,radix(代表进制)])强制转换成整型. 105.parseFloat(string[,radix])强制转换成浮点型. 106.isNaN(变量):测试是否为数值型. 107.定义常量的关键字:const,定义变量的关键字:var 108.isNaN()是JavaScript 的内部函数,对参数进行运算,判断其是否为非数字。若参数为NaN (注释:非数值值),则返回true;否者返回false;parseInt 也是一个JavaScript 的内部函数,分析一个 字符串,并返回给定基数或底数的一个整数(若没有给定基数,则假定基数为10)。 计算标签的个数;document. getElementsByTagName(‘标签名’).lenth; 二、学习心得: 其实就是搞清做什么,怎么做的问题,先把流程图画出来,拆解开,一个个做好了然后再合并。理论的东西我不会讲,直接举例哈! <script type="text/javascript"> function g(o){return document.getElementById(o);} function hitover(n) { for(i=1;i<=5;i++) { g('a_'+i).style.backgroundColor='#00ff00'; } g('a_'+n).style.backgroundColor='#ff0000'; } </script> <ul> <li id="a_1" onclick="hitover(1)" style=" background-color:#ff0000">1</li> <li id="a_2" onclick="hitover(2);">1</li> <li id="a_3" onclick="hitover(3);">1</li> <li id="a_4" onclick="hitover(4);">1</li> <li id="a_5" onclick="hitover(5);">1</li> </ul> 例一:举菜单为例,首先脑子里要有一个概念,如何去实现它……(两步:1、先将所有的按钮变为绿色,2、将点击的按钮变为红色) 点击后变成红色,其它为绿色……这里面最后需要搞清楚的就是一个先后问题,点击下一个按一个钮,显示为红色,前一个按钮由红变绿;其实在这里我不们不用考虑前面的那个按钮倒底是哪一个,点击下一个按钮后,我们先执行这一段代码: g('a_'+i).style.backgroundColor='#00ff00';(先将所有的按钮都显示为绿色,i代表1到5循环); 然后再执行下面一段代码:g('a_'+n).style.backgroundColor='#ff0000';(将当前点击的按钮显示为红色,n指当前点击按钮的编号,是点击菜单传递的一个参数值). function g(o){return document.getElementById(o);}这段是为了节省代码,以后用得很多,其值相当于g(o)= document.getElementById(o);{o为ID变量,所以不需要加引号,当o替换为ID值后,切记要加引号,如g("a_1")= document.getElementById("a_1")}。 延伸:考虑一下如果有子菜单的时候又该如何? 例二:点击计时,5秒后,提交按钮恢复为可用。 这个例子实现过程为:,开始计时-----判断(小于5秒则返回继续计时)----提交按钮恢复为可用。…………分解完了,再为每步写好实现代码; 第一步:倒计时 我们先设定一个初始时间值6秒:var t=6; 然后每过一秒t-1; 定义一定计时函数time2()和停止计时改变按钮属性函数time3(); function time2() { t=t-1; if(t<1){setTimeout('time3()',1);} else{ document.getElementById("div_1").innerHTML="页面将在"+t+"秒后自动跳转"; x=setTimeout('time2()',1000); } } function time3(){ clearTimeout(x); document.getElementById("div_1").innerHTML="页面将在0秒后自动跳转"+"<a href=\"http://www.baidu.com\">点击这里</a>"; document.getElementById("btn1").disabled=" "; } 判断t 的值;如果t>=1返回继续计时x=setTimeout('time2()',1000); 如果t<1则执行函数time3();停止计时clearTimeout(x),按钮为可用document.getElementById("btn1").disabled=" "; 思考1:做一个类似于抽奖的随时数字显示;参考函数1、随机数:Math.random();2、截取字符串substr(起始位置,长度); 思考2:表格隔行换色。提示:计算标签的个数:document.getElementsByTagName(‘标签名称’).lenth;其长度可以直接表现为数组行式来使用。如: var x= document.getElementsByTagName(‘tr’); for(i=0;i<=x.lenth;i++) { X[i]……………… } JS屏幕坐标 <script. language="javascript"> function screenInfo(){ var s = ""; s += "\r\n网页可见区域宽:"+ document.body.clientWidth; s += "\r\n网页可见区域高:"+ document.body.clientHeight; s += "\r\n网页可见区域宽:"+ document.body.offsetWidth +" (包括边线的宽)"; s += "\r\n网页可见区域高:"+ document.body.offsetHeight +" (包括边线的宽)"; s += "\r\n网页正文全文宽:"+ document.body.scrollWidth; s += "\r\n网页正文全文高:"+ document.body.scrollHeight; s += "\r\n网页被卷去的高:"+ document.body.scrollTop; s += "\r\n网页被卷去的左:"+ document.body.scrollLeft; s += "\r\n网页正文部分上:"+ window.screenTop; s += "\r\n网页正文部分左:"+ window.screenLeft; s += "\r\n屏幕分辨率的高:"+ window.screen.height; s += "\r\n屏幕分辨率的宽:"+ window.screen.width; s += "\r\n屏幕可用工作区高度:"+ window.screen.availHeight; s += "\r\n屏幕可用工作区宽度:"+ window.screen.availWidth; alert(s); } screenInfo(); </script> <script type="text/javascript"> function movdiv(){ document.onmousemove=moveHandler;//鼠标移动时执行函数moveHandler function moveHandler(evt) { if (!evt) { evt = window.event;//event鼠标事件 } animateEyes(evt.clientX-50,evt.clientY-50);//传递两个参数,鼠标坐标 } function animateEyes(xPos,yPos)//接收两个参数值 { var ka = document.getElementById("div_5").style; ka.left =xPos; ka.top = yPos; } } </script>
19KB
107个常用javascript语句
2011-03-06107个常用javascript语句 -7.焦点 .focus(); -6.捕获对象通用方法 function $(obj) {return document.getElementById(obj);} <%# Eval("") %> -5.字符串赋值数组var array=new Array(); array=tdrczpdata.split('<BR>'); -4;Request[""]; -3.常用iframe<iframe id="IFramewindow" width="0" height="0" name='IFramewindow'></iframe> -2.常用 //错误提示 function AlertErrorMeg(meg){ alert(meg); } //提示转向 function AlertRedirect(meg,url){ alert(meg); window.location.assign(url); } -1.动态绑定方法$('JournalList1').attachEvent("onchange", onchangList); 0.数组赋值给下拉菜单state_select.options.length = state_select_num ; for( i=1 ; i<state_select_num ; i++ ) { state_select.options[i].value = state_array[(i-1)*2] ; state_select.options[i].text = state_array[(i-1)*2+1] ; } 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID號").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase(); 7.JS中的值类型:String,Number,Boolean,Null,Object,Function 8.JS中的字符型转换成数值型:parseInt(),parseFloat() 9.JS中的数字转换成字符型:(""+变量) var a=2;var b=""+a; 10.JS中的取字符串长度是:(length) 11.JS中的字符与字符相连接使用 號. 12.JS中的比较操作符有:==等于,!=不等于,>,>=,<.<= 13.JS中声明变量使用:var来进行声明 14.JS中的判断语句结构:if(condition){}else{} 15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop} 16.循环中止的命令是:break 17.JS中的函数定义:function functionName([parameter],...){statement[s]} 18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替. 19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self "fullscreen=no,channelmode=no,toolbar=no,location=no,menubar=no,scrollbas=no,resizable=no," 20.状態栏的设置:window.status="字符"; 21.弹出提示信息:window.alert("字符"); 22.弹出確认框:window.confirm(); 23.弹出输入提示框:window.prompt(); 24.指定当前显示链接的位置:window.location.href="URL" 25.取出窗体中的所有表单的数量:document.forms.length 26.关闭文档的输出流:document.close(); 27.字符串追加连接符: = 28.创建一个文档元素:document.createElement(),document.createTextNode() 29.得到元素的方法:document.getElementById() 30.设置表单中所有文本型的成员的值为空: var form = window.document.forms[0] for (var i = 0; i<form.elements.length;i ){ if (form.elements.type == "text"){ form.elements.value = ""; } } 31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE) 32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length 33.单选按钮组判断是否被选中也是用checked. 34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来確定被选中的值) 35.字符串的定义:var myString = new String("This is lightsword"); 36.字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase(); 37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到. 38.取字符串中指定位置的一个字符:StringA.charAt(9); 39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6); 40.数学函数:Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(value1,value2)返回两个数中的最在值,Math.pow(value1,10)返回 value1的十次方,Math.round(value1)四舍五入函数,Math.floor(Math.random()*(n 1))返回隨机数 41.定义日期型变量:var today = new Date(); 42.日期函数列表:dateObj.getTime()得到时间,dateObj.getYear()得到年份,dateObj.getFullYear()得到四位的年份,dateObj.getMonth()得 到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期几,dateObj.getHours()得到小时,dateObj.getMinutes()得到 分,dateObj.getSeconds()得到秒,dateObj.setTime(value)设置时间,dateObj.setYear(val)设置年,dateObj.setMonth(val)设置 月,dateObj.setDate(val)设置日,dateObj.setDay(val)设置星期几,dateObj.setHours设置小时,dateObj.setMinutes(val)设置 分,dateObj.setSeconds(val)设置秒 [注意:此日期时间从0开始计] 43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName 44.parent代表父亲对象,top代表最顶端对象 45.打开子窗口的父窗口为:opener 46.表示当前所属的位置:this 47.当在超链接中调用JS函数时用:(javascript :)来开头后面加函数名 48.在老的浏览器中不执行此JS:<!-- //--> 49.引用一个文件式的JS:<script type="text/javascript" src="aaa.js"></script> 50.指定在不支持脚本的浏览器显示的HTML:<noscript></noscript> 51.当超链和onCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:<a href="a.html" onclick="location.href='b.html';return false">dfsadf</a> 52.JS的內建对象 有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeErr or,URIError 53.JS中的换行:\n 54.窗口全屏大小:<script>function fullScreen(){ this.moveTo (0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;</script> 55.JS中的all代表其下层的全部元素 56.JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 1 57.innerHTML的值是表单元素的值:如<p id="para">"how are <em>you</em>"</p>,则innerHTML的值就是:how are <em>you</em> 58.innerTEXT的值和上面的一样,只不过不会把<em>这种標记显示出来. 59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状態. 60.isDisabled判断是否为禁止状態.disabled设置禁止状態 61.length取得长度,返回整型数值 62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc 63.window.focus()使当前的窗口在所有窗口之前. 64.blur()指失去焦点.与FOCUS()相反. 65.select()指元素为选中状態. 66.防止用户对文本框中输入文本:onfocus="this.blur()" 67.取出该元素在页面中出现的数量:document.all.tags("div(或其它HTML標记符)").length 68.JS中分为两种窗体输出:模態和非模態.window.showModaldialog(),window.showModeless() 69.状態栏文字的设置:window.status='文字',默认的状態栏文字设置:window.defaultStatus = '文字.'; 70.添加到收藏夹:external.AddFavorite(""); 71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError; 72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续. 73.JS中的self指的是当前的窗口 74.JS中状態栏显示內容:window.status="內容" 75.JS中的top指的是框架集中最顶层的框架 76.JS中关闭当前的窗口:window.close(); 77.JS中提出是否確认的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");} 78.JS中的窗口重定向:window.navigate("";); 79.JS中的打印:window.print() 80.JS中的提示输入框:window.prompt("message","defaultReply"); 81.JS中的窗口滚动条:window.scroll(x,y) 82.JS中的窗口滚动到位置:window.scrollby 83.JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout 84.JS中的模態显示在IE4 行,在NN中不行:showModalDialog("URL"[,arguments][,features]); 85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue="we really like you and hope you will stay longer.";}} window.=verifyClose; 86.当窗体第一次调用时使用的文件句柄:onload() 87.当窗体关闭时调用的文件句柄:onunload() 88.window.location的属性: protocol(http:),hostname( ("/a/a.html"),hash("#giantGizmo",指跳转到相应的锚记),href(全部的信息) 89.window.location.reload()刷新当前页面. 90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的URL) 91.document.write()不换行的输出,document.writeln()换行输出 92.document.body.noWrap=true;防止链接文字折行. 93.变量名.charAt(第几位),取该变量的第几位的字符. 94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值. 95.字符串连接:string.concat(string2),或用 =进行连接 96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算) 97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置. 98.string.match(regExpression),判断字符是否匹配. 99.string.replace(regExpression,replaceString)替换现有字符串. 100.string.split(分隔符)返回一个数组存储值. 101.string.substr(start[,length])取从第几位到指定长度的字符串. 102.string.toLowerCase()使字符串全部变为小写. 103.string.toUpperCase()使全部字符变为大写. 104.parseInt(string[,radix(代表进制)])强制转换成整型. 105.parseFloat(string[,radix])强制转换成浮点型. 106.isNaN(变量):测试是否为数值型. 107.定义常量的关键字:const,定义变量的关键字:var toString(Array.toString 方法) public toString() : String 返回一个字符串值,该值表示所指定的 Array 对象中的元素。数组中的每一个元素(从索引 0 开始到最高索引结束)均会转换为一个连接字 符串,并以逗号分隔。若要指定自定义的分隔符,请使用 Array.join() 方法。 可用性:ActionScript 1.0;Flash Player 5 返回 String - 一个字符串。 示例 下面的示例创建 my_array,并将其转换为字符串。 var my_array:Array = new Array(); my_array[0] = 1; my_array[1] = 2; my_array[2] = 3; my_array[3] = 4; my_array[4] = 5; trace(my_array.toString()); // Displays 1,2,3,4,5. 此示例输出 1、2、3、4、5 作为 trace 语句的结果。 数组: 新建:var ary = new Array(); 或 var ary = []; 增加:ary.push(value); 删除:delete ary[n]; 遍历:for ( var i=0 ; i < ary.length ; ++i ) ary[i];
34KB
常见浏览器多长时间会提示“脚本运行时间过长”总结
2020-12-08现在的web,影响用户访问速度已经不单单是文件下载的速度了,当所有的文件从服务器上下载后,从浏览器开始渲染到用户可以响应的时间,这段时间仍然会消耗很长,同时由于交互的复杂,javascript也变得越来越多,越来越复杂,脚本运行的时间反映在界面上就是响应用户输入点击的过慢,甚至浏览器出现脚本超时的提示。 这篇文件并不打算讲怎么避免这种超时以及javascript的优化技巧,单说各种浏览器的忍耐极限,下面是Nicholas C. Zakas总结的数据 Chrome:执行超过8秒提示。IE:执行超过500万条Javascript语句时出现提示。Firefox:执行超过10秒出现提示。Safari:
8.40MB
jQuery基础教程4th
2014-08-30图书简介: 《jQuery基础教程(第4版)》是jQuery经典技术教程的最新升级版,涵盖jQuery 1.10.x和jQuery2.0.x。本书前6章以通俗易懂的方式讲解了jQuery的核心组件,包括jQuery的选择符、事件、动画、DOM操作、Ajax支持等。第7章和第8章介绍了jQueryUI、jQueryMobile及利用jQuery强大的扩展能力开发自定义插件。随后的几章更加深入地探讨了jQuery的各种特性及一些高级技术。附录A特别讲解了JavaScript中闭包的概念,以及如何在jQuery中有效地使用闭包。附录B讲解了使用QUnit测试JavaScript代码的必备知识。附录C给出了jQueryAPI的快速参考。 《jQuery基础教程(第4版)》注重理论与实践相结合,由浅入深、循序渐进,适合各层次的前端Web开发人员学习和参考。 图书目录: 第1章 jQuery入门 1.1 jQuery能做什么 1.2 jQuery为什么如此出色 1.3 第一个jQuery驱动的页面 1.3.1 下载jQuery 1.3.2 本书使用jQuery的哪个版本 1.3.3 在HTML文档中引入jQuery 1.3.4 编写jQuery代码 1.3.5 最终结果 1.4 纯JavaScript与jQuery 1.5 使用开发工具 1.6 小结 第2章 选择元素 2.1 理解DOM 2.2 使用$()函数 2.3 CSS选择符 2.4 属性选择符 2.5 自定义选择符 2.5.1 每隔一行为表格添加样式 2.5.2 基于上下文内容选择元素 2.5.3 基于表单的选择符 2.6 DOM遍历方法 2.6.1 为特定单元格添加样式 2.6.2 连缀 2.7 访问DOM元素 2.8 小结 2.9 练习 第3章 事件 3.1 在页面加载后执行任务 3.1.1 代码执行的时机选择 3.1.2 基于一个页面执行多个脚本 3.1.3 .ready()的简写形式 3.1.4 向.ready()回调函数中传入参数 3.2 处理简单的事件 3.2.1 简单的样式转换器 3.2.2 启用其他按钮 3.2.3 利用事件处理程序的上下文 3.2.4 使用事件上下文进一步减少代码 3.2.5 简写的事件 3.2.6 显示和隐藏高级特性 3.3 事件传播 3.3.1 事件的旅程 3.3.2 事件冒泡的副作用 3.4 通过事件对象改变事件的旅程 3.4.1 事件目标 3.4.2 停止事件传播 3.4.3 阻止默认操作 3.4.4 事件委托 3.4.5 使用内置的事件委托功能 3.5 移除事件处理程序 3.5.1 为事件处理程序添加命名空间 3.5.2 重新绑定事件 3.6 模仿用户操作 3.7 小结 3.8 练习 第4章 样式与动画 4.1 修改内联CSS 4.1.1 设置计算的样式属性值 4.1.2 带厂商前缀的样式属性 4.2 隐藏和显示元素 4.3 效果和时长 4.3.1 指定显示速度 4.3.2 淡入和淡出 4.3.3 滑上和滑下 4.3.4 切换可见性 4.4 创建自定义动画 4.4.1 手工创建效果 4.4.2 一次给多个属性添加动画效果 4.5 并发与排队效果 4.5.1 处理一组元素 4.5.2 处理多组元素 4.5.3 简单概括 4.6 小结 4.7 练习 第5章 操作DOM 5.1 操作属性 5.1.1 非类属性 5.1.2 DOM元素属性 5.1.3 表单控件的值 5.2 DOM树操作 5.2.1 重新认识$()函数 5.2.2 创建新元素 5.2.3 插入新元素 5.2.4 移动元素 5.2.5 包装元素 5.2.6 使用反向插入方法 5.3 复制元素 5.4 内容setter和getter方法 5.5 DOM操作方法的简单归纳 5.6 小结 5.7 练习 第6章 通过Ajax发送数据 6.1 基于请求加载数据 6.1.1 追加HTML 6.1.2 操作JavaScript对象 6.1.3 加载XML文档 6.2 选择数据格式 6.3 向服务器传递数据 6.3.1 执行GET请求 6.3.2 执行POST请求 6.3.3 序列化表单 6.4 为Ajax请求提供不同的内容 6.5 关注请求 6.6 错误处理 6.7 Ajax和事件 6.8 安全限制 6.9 其他工具 6.9.1 低级Ajax方法 6.9.2 修改默认选项 6.9.3 部分加载HTML页面 6.10 小结 6.11 练习 第7章 使用插件 7.1 查找插件和帮助 7.2 使用插件 7.2.1 下载并包含Cycle插件 7.2.2 调用插件提供的方法 7.2.3 为插件方法指定参数 7.2.4 修改参数默认值 7.3 其他形式的插件 7.3.1 自定义选择符 7.3.2 全局函数插件 7.4 jQuery UI插件库 7.4.1 效果 7.4.2 交互组件 7.4.3 部件 7.4.4 jQuery UI主题卷轴 7.5 jQuery Mobile插件库 7.5.1 HTML5自定义数据属性 7.5.2 移动导航 7.5.3 一个文档支持多个页面 7.5.4 交互式元素 7.5.5 高级功能 7.6 小结 7.7 练习 第8章 开发插件 8.1 在插件中使用$别名 8.2 添加新的全局函数 8.3 添加jQuery对象方法 8.3.1 对象方法的上下文 8.3.2 隐式迭代 8.3.3 方法连缀 8.4 提供灵活的方法参数 8.4.1 参数对象 8.4.2 默认参数值 8.4.3 回调函数 8.4.4 可定制的默认值 8.5 使用jQuery UI部件工厂创建插件 8.5.1 创建部件 8.5.2 销毁部件 8.5.3 启用和禁用部件 8.5.4 接受部件选项 8.5.5 添加子方法 8.5.6 触发部件事件 8.6 插件设计建议 8.7 小结 8.8 练习 第9章 高级选择符与遍历 9.1 深入选择与遍历 9.1.1 动态筛选表格内容 9.1.2 为表格行添加条纹效果 9.1.3 组合筛选与条纹 9.1.4 更多选择符与遍历方法 9.2 定制与优化选择符 9.2.1 编写定制的选择符插件 9.2.2 选择符的性能问题 9.3 DOM遍历背后的秘密 9.3.1 jQuery对象属性 9.3.2 DOM元素栈 9.3.3 编写DOM遍历方法插件 9.3.4 DOM遍历的性能问题 9.4 小结 9.5 练习 第10章 高级事件处理 10.1 再谈事件 10.1.1 追加数据页面 10.1.2 悬停时显示数据 10.2 事件委托 10.2.1 使用jQuery的委托方法 10.2.2 选择委托的作用域 10.2.3 早委托 10.3 自定义事件 10.3.1 无穷滚动 10.3.2 自定义事件参数 10.4 节流事件 10.5 扩展事件 10.6 小结 10.7 练习 第11章 高级效果 11.1 再谈动画 11.2 观测及中断动画 11.2.1 确定动画状态 11.2.2 中止运行的动画 11.3 全局效果属性 11.3.1 禁用所有效果 11.3.2 定义效果时长 11.4 多属性缓动 11.5 使用延迟对象 11.6 精细地控制动画 11.7 小结 11.8 练习 第12章 高级DOM操作 12.1 排序表格行 12.1.1 服务器端排序 12.1.2 Ajax排序 12.1.3 JavaScript排序 12.2 移动和插入元素 12.2.1 为已有的文本添加链接 12.2.2 简单的JavaScript数组排序 12.2.3 对DOM元素排序 12.3 在DOM元素中保存数据 12.3.1 执行预先计算 12.3.2 存储非字符串数据 12.3.3 变换排序方向 12.4 使用HTML5自定义数据属性 12.5 使用JSON排序和构建行 12.5.1 修改JSON对象 12.5.2 按需重新构建内容 12.6 高级属性操作 12.6.1 简捷地创建元素 12.6.2 DOM创建挂钩 12.7 小结 12.8 练习 第13章 高级Ajax 13.1 渐进增强与Ajax 13.2 处理Ajax错误 13.3 jqXHR对象 13.3.1 Ajax承诺 13.3.2 缓存响应 13.4 截流Ajax请求 13.5 扩展Ajax功能 13.5.1 数据类型转换器 13.5.2 Ajax预过滤器 13.5.3 替代传输方式 13.6 小结 13.7 练习 附录A JavaScript闭包 A.1 创建内部函数 A.1.1 在任何地方调用内部函数 A.1.2 理解变量作用域 A.2 处理闭包之间的交互 A.3 在jQuery中创建闭包 A.3.1 $(document).ready()的参数 A.3.2 绑定事件处理程序 A.3.3 在循环中绑定处理程序 A.3.4 命名及匿名函数 A.4 应对内存泄漏的风险 A.4.1 避免意外的引用循环 A.4.2 控制DOM与JavaScript的循环 A.5 小结 附录B 使用QUnit测试JavaScript B.1 下载QUnit B.2 设置文档 B.3 组织测试 B.4 添加和运行测试 B.5 其他测试类型 B.6 最佳实践 B.7 小结 附录C 简明参考 C.1 选择符表达式 C.1.1 简单的CSS选择符 C.1.2 在同辈元素间定位 C.1.3 在匹配的元素间定位 C.1.4 属性 C.1.5 表单 C.1.6 其他自定义选择符 C.2 DOM遍历方法 C.2.1 筛选元素 C.2.2 后代元素 C.2.3 同辈元素 C.2.4 祖先元素 C.2.5 集合操作 C.2.6 操作选中的元素 C.3 事件方法 C.3.1 绑定 C.3.2 简写绑定 C.3.3 触发事件 C.3.4 简写触发方法 C.3.5 实用方法 C.4 效果方法 C.4.1 预定义效果 C.4.2 自定义动画 C.4.3 队列操作 C.5 DOM操作方法 C.5.1 特性与属性 C.5.2 内容 C.5.3 CSS C.5.4 尺寸 C.5.5 插入 C.5.6 替换 C.5.7 删除 C.5.8 复制 C.5.9 数据 C.6 Ajax方法 C.6.1 发送请求 C.6.2 监视请求 C.6.3 配置 C.6.4 实用方法 C.7 延迟方法 C.7.1 创建对象 C.7.2 延迟对象的方法 C.7.3 承诺对象的方法 C.8 其他方法 C.8.1 jQuery对象的属性 C.8.2 数组和对象 C.8.3 对象内省 C.8.4 其他
56KB
JavaScript“尽快失败”的原则实例详解
2020-11-23我第一次听说编码原则中有“尽快失败”这一条时,觉得很奇怪,为什么代码要失败?应该成功才对呀。但事实上,当代码在遇到错误的时候应该尽快的终止。为了检测各种状态,我们需要频繁的创建if语句与条件分支,而这些条件检测的结果不是成功就是失败(true&&false)。之所以会有这么多的条件检测语句,是因为如果不在构建过程中植入这些监测点(checkpoint),那么浏览器内核会执行很多无用的代码,并占用许多宝贵的CPU性能和处理时间,拖慢网站加载速度。 根据那些判断结果为false的检测语句块放置位置的不同,有些情况下,一旦发生错误就迅速中止,而另外一些情况下则会在执行了很长一段时间的无用代码后才终止
36KB
asp.net AJAX实战代码(随书源码系列之第一章源码)
2009-12-27第一部分 ASP.NET AJAX基础 第1章 ASP.NET AJAX简介 2 1.1 什么是Ajax 3 1.1.1 Ajax构成要素 3 1.1.2 异步Web编程 5 1.1.3 XMLHttpRequest对象 7 1.1.4 Ajax开发问题 10 1.2 ASP.NET AJAX架构 11 1.2.1 客户端框架 12 1.2.2 服务器框架 13 1.2.3 客户端中心开发模型 14 1.2.4 服务器中心开发模型 16 1.2.5 ASP.NET AJAX目标 16 1.3 ASP.NET AJAX实战 17 1.3.1 简单的服务器中心解决方案 17 1.3.2 UpdateProgress控件 21 1.3.3 简单的客户中心示例 22 1.4 小结 26 第2章 Microsoft Ajax Library第一步 27 2.1 Microsoft Ajax Library速览 27 2.1.1 Microsoft Ajax Library特性 27 2.1.2 在ASP.NET页面中增加Ajax支持 28 2.1.3 脚本版本 29 2.2 Application模型 30 2.2.1 客户组件 31 2.2.2 客户页面生命周期 32 2.2.3 Hello Microsoft Ajax! 33 2.3 使用DOM 35 2.3.1 抽象API 35 2.3.2 一个动态的跨浏览器文本框 36 2.3.3 CSS与定位 39 2.3.4 客户委托 40 2.3.5 $addHandlers与$clearHandlers 41 2.3.6 回调 41 2.4 更容易地实现JavaScript开发 42 2.4.1 String对象 43 2.4.2 Sys.StringBuilder 43 2.4.3 Array对象 44 2.4.4 全球化 46 2.4.5 浏览器检测 47 2.4.6 调试 49 2.4.7 有类型错误 51 2.5 小结 53 第3章 Ajax开发人员需要的JavaScript知识 54 3.1 使用对象 54 3.1.1 对象 55 3.1.2 数组 56 3.1.3 函数 56 3.1.4 创建定制对象 60 3.1.5 原型对象 60 3.1.6 扩展JavaScript类型 61 3.1.7 字面量 62 3.2 使用JSON 63 3.2.1 JSON结构 63 3.2.2 JSON与 Microsoft Ajax Library 65 3.3 JavaScript中的类 65 3.3.1 客户类 66 3.3.2 registerClass方法 66 3.3.3 属性 67 3.3.4 命名空间 69 3.4 理解继承 70 3.4.1 基于原型的继承 70 3.4.2 向基类传递参数 72 3.4.3 覆写 73 3.5 理解接口和枚举 74 3.5.1 接口 74 3.5.2 枚举 75 3.6 使用类型反射 77 3.6.1 反射方法 77 3.6.2 确定对象类型 78 3.6.3 构建一个简单的类浏览器 79 3.7 处理事件 81 3.7.1 公开事件 81 3.7.2 订阅与处理事件 84 3.8 小结 84 第4章 Ajax服务器扩展剖析 86 4.1 ASP.NET开发人员的Ajax 86 4.2 改进原有ASP.NET网站 87 4.2.1 一个示例ASP.NET网站 88 4.2.2 配置现有的ASP.NET网站 88 4.3 ScriptManager: Ajax页面的大脑 90 4.3.1 理解ScriptManager 90 4.3.2 部署JavaScript文件 91 4.3.3 注册服务 92 4.3.4 本地化 92 4.3.5 使用ScriptManagerProxy 94 4.4 部分页面更新 95 4.4.1 引入UpdatePanel控件 95 4.4.2 更多UpdatePanel 98 4.4.3 在此插入反馈 99 4.4.4 使用计时器 101 4.4.5 错误处理 103 4.5 小结 104 第5章 建立异步网络调用 105 5.1 使用ASP.NET Web服务 105 5.1.1 配置Web服务 106 5.1.2 从JavaScript调用Web服务方法 109 5.1.3 处理复杂类型 111 5.1.4 使用HTTP GET 117 5.1.5 页面方法 118 5.2 异步通信层 119 5.2.1 一个简单的WebRequest 119 5.2.2 执行器 120 5.2.3 WebRequestManager 121 5.2.4 处理错误 121 5.3 消费外部Web服务 123 5.3.1 脚本技术 124 5.3.2 通过服务器的跨域调用 125 5.3.3 利用ASP.NET AJAX实现内容集成 125 5.3.4 桥技术 131 5.4 使用ASP.NET应用服务 137 5.4.1 启用ASP.NET应用服务 137 5.4.2 验证服务 138 5.4.3 个性化 140 5.4.4 角色:Orcas预览 143 5.4.5 消息板应用 144 5.5 小结 145 第6章 利用UpdatePanel实现部分页面渲染 146 6.1 能力越大,责任越多 146 6.1.1 UpdatePanel的发展历程 147 6.1.2 一个简单的示例 147 6.2 了解UpdatePanel 150 6.2.1 UpdatePanel的内容 151 6.2.2 更新模式 152 6.2.3 显示模式 154 6.2.4 ASP.NET页面生命周期 155 6.3 触发器 156 6.3.1 异步触发器 156 6.3.2 回送触发器 157 6.3.3 手工触发器 158 6.4 高级技术 160 6.4.1 重复UpdatePanel 160 6.4.2 嵌套UpdatePanel 162 6.5 实时GridView过滤器 163 6.5.1 实时GridView过滤器的目标 163 6.5.2 GridView过滤器的工作原理 164 6.5.3 为GridView过滤器增加Ajax支持 168 6.5.4 一个实时的过滤器 168 6.6 小结 171 第二部分 高级技术 第7章 UpdatePanel深入剖析 174 7.1 PageRequestManager:无名英雄 174 7.1.1 客户端事件模型 175 7.1.2 异步回送剖析 177 7.2 客户端事件查看器 182 7.2.1 起步 182 7.2.2 处理客户端事件 183 7.2.3 中止一个回送 187 7.2.4 管理回送优先级 188 7.2.5 通知用户 189 7.2.6 锁定和加载 190 7.2.7 客户端错误处理 191 7.3 UpdatePanel手册 192 7.3.1 为什么UpdatePanel这么慢? 192 7.3.2 部分回送期间插入JavaScript 194 7.3.3 让验证器开始工作 195 7.3.4 Sys.WebForms.Page- RequestManagerParse-ErrorException 196 7.4 问题和限制 197 7.4.1 要求异步请求顺序出现 197 7.4.2 不支持的ASP.NET 2.0控件 197 7.5 小结 197 第8章 ASP.NET AJAX客户组件 198 8.1 客户组件模型 198 8.1.1 可视化和非可视化组件 199 8.1.2 控件和行为 200 8.1.3 组件生命周期 200 8.1.4 容器 201 8.2 处理客户组件 202 8.2.1 创建组件 204 8.2.2 访问组件 205 8.2.3 事件和属性改变通知 206 8.3 行为 208 8.3.1 Sys.UI.Behavior 208 8.3.2 创建行为 209 8.3.3 访问行为 209 8.3.4 改进文本框元素 210 8.4 控件 214 8.4.1 Sys.UI.Control 214 8.4.2 创建控件 215 8.4.3 访问控件 215 8.4.4 创建一个元素包装器:文本框 216 8.4.5 创建一个PhotoGallery控件 218 8.5 小结 222 第9章 构建支持Ajax的控件 224 9.1 脚本描述文件 224 9.1.1 脚本描述文件的层次 225 9.1.2 描述一个行为 225 9.1.3 描述一个控件 227 9.1.4 脚本引用 228 9.2 基于Ajax的控件介绍 229 9.2.1 支持Ajax的控件的工作原理 229 9.2.2 扩展器和脚本控件 230 9.3 扩展器 232 9.3.1 IExtenderControl接口 232 9.3.2 扩展器注册 232 9.3.3 FormattingBehavior的扩展器 233 9.3.4 使用扩展器 236 9.4 脚本控件 237 9.4.1 IScriptControl接口 238 9.4.2 脚本控件注册 238 9.4.3 设计策略 240 9.4.4 为ASP.NET Login 控件增加Ajax支持 240 9.4.5 使用脚本控件 245 9.5 小结 246 第10章 利用Ajax Control Toolkit进行开发 248 10.1 扩展器世界 248 10.1.1 自动完成扩展器 249 10.1.2 ScriptPath属性 253 10.1.3 BehaviorID属性 254 10.2 Ajax Control Toolkit API 255 10.2.1 Toolkit的基类 256 10.2.2 元数据驱动API 257 10.2.3 构建Toolkit扩展器:TextChanged扩展器 258 10.2.4 对Visual Studio Designer的支持 264 10.3 动画 266 10.3.1 Toolkit动画框架 266 10.3.2 动画基类 267 10.3.3 使用AnimationExtender 268 10.3.4 UpdatePanelAnimation扩展器 271 10.3.5 JSON和动画:为PhotoGallery控件增加过渡效果 272 10.4 小结 274 第三部分 ASP.NET AJAX新特性 第11章 XML Script 276 11.1 XML Script基础知识 276 11.1.1 Hello XML Script! 277 11.1.2 控件和XML Script 279 11.1.3 从XML Script到JavaScript 282 11.1.4 类型描述文件 283 11.2 动作 286 11.2.1 SetPropertyAction 286 11.2.2 PostBackAction 287 11.2.3 InvokeMethodAction 288 11.2.4 定制动作 291 11.3 绑定 294 11.3.1 一个简单的绑定 294 11.3.2 绑定方向 296 11.3.3 目标和数据路径 296 11.3.4 绑定作为组件 298 11.3.5 转换器 299 11.3.6 使用转换器 300 11.3.7 定制转换器 301 11.4 小结 302 第12章 拖放技术 304 12.1 拖放引擎 304 12.1.1 拖放引擎的工作原理 305 12.1.2 一个简单的拖放场景 307 12.1.3 创建一个可拖动项 308 12.1.4 startDragDrop方法 309 12.1.5 IDragSource接口 310 12.1.6 创建一个投放目标 312 12.1.7 IDropTarget接口 313 12.1.8 集成 315 12.2 一个拖放购物车 316 12.2.1 服务器端设计 317 12.2.2 客户端设计 319 12.2.3 ShoppingCart控件 320 12.2.4 BooksCatalog控件 322 12.2.5 集成 325 12.3 小结 325 第四部分 掌握ASP.NET AJAX 第13章 实现常用Ajax模式 328 13.1 脚本版本 328 13.1.1 获取信息性栈轨迹 329 13.1.2 JavaScript代码中的XML注释 331 13.1.3 验证函数参数 332 13.1.4 生产代码中的参数验证 335 13.1.5 压缩和修剪脚本文件 336 13.2 辅助方法,助你助我 337 13.2.1 自动声明属性 337 13.2.2 自动创建事件 339 13.3 逻辑导航和唯一URL 341 13.3.1 逻辑导航 342 13.3.2 唯一URL 347 13.4 声明方式数据绑定 348 13.4.1 建立Web服务 348 13.4.2 ListView控件 350 13.5 声明方式部件 353 13.5.1 拖放列表 354 13.5.2 部件和XML Script 355 13.6 小结 359 第五部分 附录
71KB
ASP.NET AJAX实战(第2、3章源码)
2009-12-27第一部分 ASP.NET AJAX基础 第1章 ASP.NET AJAX简介 2 1.1 什么是Ajax 3 1.1.1 Ajax构成要素 3 1.1.2 异步Web编程 5 1.1.3 XMLHttpRequest对象 7 1.1.4 Ajax开发问题 10 1.2 ASP.NET AJAX架构 11 1.2.1 客户端框架 12 1.2.2 服务器框架 13 1.2.3 客户端中心开发模型 14 1.2.4 服务器中心开发模型 16 1.2.5 ASP.NET AJAX目标 16 1.3 ASP.NET AJAX实战 17 1.3.1 简单的服务器中心解决方案 17 1.3.2 UpdateProgress控件 21 1.3.3 简单的客户中心示例 22 1.4 小结 26 第2章 Microsoft Ajax Library第一步 27 2.1 Microsoft Ajax Library速览 27 2.1.1 Microsoft Ajax Library特性 27 2.1.2 在ASP.NET页面中增加Ajax支持 28 2.1.3 脚本版本 29 2.2 Application模型 30 2.2.1 客户组件 31 2.2.2 客户页面生命周期 32 2.2.3 Hello Microsoft Ajax! 33 2.3 使用DOM 35 2.3.1 抽象API 35 2.3.2 一个动态的跨浏览器文本框 36 2.3.3 CSS与定位 39 2.3.4 客户委托 40 2.3.5 $addHandlers与$clearHandlers 41 2.3.6 回调 41 2.4 更容易地实现JavaScript开发 42 2.4.1 String对象 43 2.4.2 Sys.StringBuilder 43 2.4.3 Array对象 44 2.4.4 全球化 46 2.4.5 浏览器检测 47 2.4.6 调试 49 2.4.7 有类型错误 51 2.5 小结 53 第3章 Ajax开发人员需要的JavaScript知识 54 3.1 使用对象 54 3.1.1 对象 55 3.1.2 数组 56 3.1.3 函数 56 3.1.4 创建定制对象 60 3.1.5 原型对象 60 3.1.6 扩展JavaScript类型 61 3.1.7 字面量 62 3.2 使用JSON 63 3.2.1 JSON结构 63 3.2.2 JSON与 Microsoft Ajax Library 65 3.3 JavaScript中的类 65 3.3.1 客户类 66 3.3.2 registerClass方法 66 3.3.3 属性 67 3.3.4 命名空间 69 3.4 理解继承 70 3.4.1 基于原型的继承 70 3.4.2 向基类传递参数 72 3.4.3 覆写 73 3.5 理解接口和枚举 74 3.5.1 接口 74 3.5.2 枚举 75 3.6 使用类型反射 77 3.6.1 反射方法 77 3.6.2 确定对象类型 78 3.6.3 构建一个简单的类浏览器 79 3.7 处理事件 81 3.7.1 公开事件 81 3.7.2 订阅与处理事件 84 3.8 小结 84 第4章 Ajax服务器扩展剖析 86 4.1 ASP.NET开发人员的Ajax 86 4.2 改进原有ASP.NET网站 87 4.2.1 一个示例ASP.NET网站 88 4.2.2 配置现有的ASP.NET网站 88 4.3 ScriptManager: Ajax页面的大脑 90 4.3.1 理解ScriptManager 90 4.3.2 部署JavaScript文件 91 4.3.3 注册服务 92 4.3.4 本地化 92 4.3.5 使用ScriptManagerProxy 94 4.4 部分页面更新 95 4.4.1 引入UpdatePanel控件 95 4.4.2 更多UpdatePanel 98 4.4.3 在此插入反馈 99 4.4.4 使用计时器 101 4.4.5 错误处理 103 4.5 小结 104 第5章 建立异步网络调用 105 5.1 使用ASP.NET Web服务 105 5.1.1 配置Web服务 106 5.1.2 从JavaScript调用Web服务方法 109 5.1.3 处理复杂类型 111 5.1.4 使用HTTP GET 117 5.1.5 页面方法 118 5.2 异步通信层 119 5.2.1 一个简单的WebRequest 119 5.2.2 执行器 120 5.2.3 WebRequestManager 121 5.2.4 处理错误 121 5.3 消费外部Web服务 123 5.3.1 脚本技术 124 5.3.2 通过服务器的跨域调用 125 5.3.3 利用ASP.NET AJAX实现内容集成 125 5.3.4 桥技术 131 5.4 使用ASP.NET应用服务 137 5.4.1 启用ASP.NET应用服务 137 5.4.2 验证服务 138 5.4.3 个性化 140 5.4.4 角色:Orcas预览 143 5.4.5 消息板应用 144 5.5 小结 145 第6章 利用UpdatePanel实现部分页面渲染 146 6.1 能力越大,责任越多 146 6.1.1 UpdatePanel的发展历程 147 6.1.2 一个简单的示例 147 6.2 了解UpdatePanel 150 6.2.1 UpdatePanel的内容 151 6.2.2 更新模式 152 6.2.3 显示模式 154 6.2.4 ASP.NET页面生命周期 155 6.3 触发器 156 6.3.1 异步触发器 156 6.3.2 回送触发器 157 6.3.3 手工触发器 158 6.4 高级技术 160 6.4.1 重复UpdatePanel 160 6.4.2 嵌套UpdatePanel 162 6.5 实时GridView过滤器 163 6.5.1 实时GridView过滤器的目标 163 6.5.2 GridView过滤器的工作原理 164 6.5.3 为GridView过滤器增加Ajax支持 168 6.5.4 一个实时的过滤器 168 6.6 小结 171 第二部分 高级技术 第7章 UpdatePanel深入剖析 174 7.1 PageRequestManager:无名英雄 174 7.1.1 客户端事件模型 175 7.1.2 异步回送剖析 177 7.2 客户端事件查看器 182 7.2.1 起步 182 7.2.2 处理客户端事件 183 7.2.3 中止一个回送 187 7.2.4 管理回送优先级 188 7.2.5 通知用户 189 7.2.6 锁定和加载 190 7.2.7 客户端错误处理 191 7.3 UpdatePanel手册 192 7.3.1 为什么UpdatePanel这么慢? 192 7.3.2 部分回送期间插入JavaScript 194 7.3.3 让验证器开始工作 195 7.3.4 Sys.WebForms.Page- RequestManagerParse-ErrorException 196 7.4 问题和限制 197 7.4.1 要求异步请求顺序出现 197 7.4.2 不支持的ASP.NET 2.0控件 197 7.5 小结 197 第8章 ASP.NET AJAX客户组件 198 8.1 客户组件模型 198 8.1.1 可视化和非可视化组件 199 8.1.2 控件和行为 200 8.1.3 组件生命周期 200 8.1.4 容器 201 8.2 处理客户组件 202 8.2.1 创建组件 204 8.2.2 访问组件 205 8.2.3 事件和属性改变通知 206 8.3 行为 208 8.3.1 Sys.UI.Behavior 208 8.3.2 创建行为 209 8.3.3 访问行为 209 8.3.4 改进文本框元素 210 8.4 控件 214 8.4.1 Sys.UI.Control 214 8.4.2 创建控件 215 8.4.3 访问控件 215 8.4.4 创建一个元素包装器:文本框 216 8.4.5 创建一个PhotoGallery控件 218 8.5 小结 222 第9章 构建支持Ajax的控件 224 9.1 脚本描述文件 224 9.1.1 脚本描述文件的层次 225 9.1.2 描述一个行为 225 9.1.3 描述一个控件 227 9.1.4 脚本引用 228 9.2 基于Ajax的控件介绍 229 9.2.1 支持Ajax的控件的工作原理 229 9.2.2 扩展器和脚本控件 230 9.3 扩展器 232 9.3.1 IExtenderControl接口 232 9.3.2 扩展器注册 232 9.3.3 FormattingBehavior的扩展器 233 9.3.4 使用扩展器 236 9.4 脚本控件 237 9.4.1 IScriptControl接口 238 9.4.2 脚本控件注册 238 9.4.3 设计策略 240 9.4.4 为ASP.NET Login 控件增加Ajax支持 240 9.4.5 使用脚本控件 245 9.5 小结 246 第10章 利用Ajax Control Toolkit进行开发 248 10.1 扩展器世界 248 10.1.1 自动完成扩展器 249 10.1.2 ScriptPath属性 253 10.1.3 BehaviorID属性 254 10.2 Ajax Control Toolkit API 255 10.2.1 Toolkit的基类 256 10.2.2 元数据驱动API 257 10.2.3 构建Toolkit扩展器:TextChanged扩展器 258 10.2.4 对Visual Studio Designer的支持 264 10.3 动画 266 10.3.1 Toolkit动画框架 266 10.3.2 动画基类 267 10.3.3 使用AnimationExtender 268 10.3.4 UpdatePanelAnimation扩展器 271 10.3.5 JSON和动画:为PhotoGallery控件增加过渡效果 272 10.4 小结 274 第三部分 ASP.NET AJAX新特性 第11章 XML Script 276 11.1 XML Script基础知识 276 11.1.1 Hello XML Script! 277 11.1.2 控件和XML Script 279 11.1.3 从XML Script到JavaScript 282 11.1.4 类型描述文件 283 11.2 动作 286 11.2.1 SetPropertyAction 286 11.2.2 PostBackAction 287 11.2.3 InvokeMethodAction 288 11.2.4 定制动作 291 11.3 绑定 294 11.3.1 一个简单的绑定 294 11.3.2 绑定方向 296 11.3.3 目标和数据路径 296 11.3.4 绑定作为组件 298 11.3.5 转换器 299 11.3.6 使用转换器 300 11.3.7 定制转换器 301 11.4 小结 302 第12章 拖放技术 304 12.1 拖放引擎 304 12.1.1 拖放引擎的工作原理 305 12.1.2 一个简单的拖放场景 307 12.1.3 创建一个可拖动项 308 12.1.4 startDragDrop方法 309 12.1.5 IDragSource接口 310 12.1.6 创建一个投放目标 312 12.1.7 IDropTarget接口 313 12.1.8 集成 315 12.2 一个拖放购物车 316 12.2.1 服务器端设计 317 12.2.2 客户端设计 319 12.2.3 ShoppingCart控件 320 12.2.4 BooksCatalog控件 322 12.2.5 集成 325 12.3 小结 325 第四部分 掌握ASP.NET AJAX 第13章 实现常用Ajax模式 328 13.1 脚本版本 328 13.1.1 获取信息性栈轨迹 329 13.1.2 JavaScript代码中的XML注释 331 13.1.3 验证函数参数 332 13.1.4 生产代码中的参数验证 335 13.1.5 压缩和修剪脚本文件 336 13.2 辅助方法,助你助我 337 13.2.1 自动声明属性 337 13.2.2 自动创建事件 339 13.3 逻辑导航和唯一URL 341 13.3.1 逻辑导航 342 13.3.2 唯一URL 347 13.4 声明方式数据绑定 348 13.4.1 建立Web服务 348 13.4.2 ListView控件 350 13.5 声明方式部件 353 13.5.1 拖放列表 354 13.5.2 部件和XML Script 355 13.6 小结 359 第五部分 附录 附录A 安装ASP.NET AJAX 362 附录B Ajax应用调试工具 370 资源 387
77B
kettle全面资料
2018-12-21第一课时:ETL 的概念,Kettle 的概念、功能、操作 第二课时:Kettle 资源库、参数化、运行方式(本地、远程、集群、命令行)、日志、 第三课时:输入步骤(表输入、文本文件输入、XML 文件输入...) 第四课时:输出步骤(表输出、更新、删除、文本文件输出、XML文件输出...) 第五课时:转换步骤(过滤、字符串处理、拆分字段、行转列、排序排重复、计算器、闭合距离等...) 第六课时:应用步骤、流程步骤(ETL元数据注入、处理文件、执行程序、发送邮件、空操作、阻塞步骤、中止等...) 第七课时:查询步骤、连接步骤(数据库查询、流查询、合并记录、记录集连接、笛卡尔、WEB查询、XML连接) 第八课时:映射步骤(子转换)、集群、 Kettle的参数和变量、 第九课时:数据仓库构建过程、检验步骤、统计步骤(采样等)、分区、脚本步骤(一)javascript 第十课时:最佳实践,应用案例一 第十一课时:转换性能调优,作业设计、控制、循环,应用案例二 第十二课时:数据仓库概念、维度查询更新步骤、Kettle配置文件、 -----脚本步骤(二),上线部署、Ketle代码编译 第十三课时:插件开发一 (数据库、步骤)、 -----各种配置文件、应用集成方法 第十四课时:插件开发二 -----步骤、作业项、JavaClass 第十五课时:大数据插件(Hadoop 文件输入/输出,HBase输入/输出,MapReduce输入/输出,MongoDB输入/输出)
45KB
js for终止循环 跳出多层循环
2020-10-17主要介绍了js for等循环 跳出多层循环,终止循环执行的方法,需要的朋友可以参考下
49KB
zUnit:零依赖,无污染,低魔力的Node.js测试工具-源码
2021-04-10单位 TL; DR zUnit = goodbits( )+ goodbits( )-依赖关系; 指数 待定/跳过测试 独家测试 摆脱困境/快速失败/提前中止 生命周期挂钩 记者 尖端 学分 关于 zUnit是零相关性,无污染1 ,低魔2 ,测试工具的Node.js,你可以执行像任何其他JavaScript程序。 我之所以写它,是因为我的首选测试工具mocha是开源项目中漏洞的第一大罪魁祸首,而我厌倦了仅由于mocha或其依赖项之一触发了审核警告而对它们进行更新。 尽管zUnit确实缺少一些高级功能,例如并发测试,自动重试和真实文件globing 3 ,但大多数日常功能仍然存在。 1个无污染 如果愿意,可以将测试功能(描述,描述等)添加到全局名称空间中。 const { syntax } = require ( 'zunit' ) ; Object . entries ( sy
22.80MB
Google Chrome 6.0.451.0 Dev 版(一个由Google公司开发的网页浏览器)
2010-06-30Chrome 百科名片 Google Chrome,中文名为“谷歌浏览器”,是一个由Google公司开发的网页浏览器。与苹果公司的safari相抗衡,浏览速度在众多浏览器中走在前列,属于高端浏览器。采用BSD许可证授权并开放源代码,开源计划名为Chromium.本软件的代码是基于其他开放源代码软件所撰写,包括WebKit和Mozilla,目标是提升稳定性、速度和安全性,并创造出简单且有效的使用者界面。软件的名称是来自于又称作“Chrome”的网络浏览器图形使用者界面(GUI)。 目录[隐藏] 版本简介 操作系统 宣布 发布 不支持或未实现的功能 安全性 速度 使用者界面 [编辑本段]版本简介 软件的beta测试版本在2008年9月2日释出,提供43种语言版本,目前仅适用于Microsoft Windows的XP,Vista和最新发布的windows7平台,并不支持Windows 2000或更早期的版本。Mac OS X和Linux版本正在研发中,并于2009年6月5日首次针对开发者推出Mac和Linux版官方Chrome浏览器,正式版将于日后推出。 Google Chrome Logo [编辑本段]操作系统 谷歌公司于2009年7月7日宣布,将在其Chrome网络浏览器的基础上开发一款计算机操作系统。对于其竞争对手微软而言,这无疑是一次最直接的挑战。 报道称,有分析师对此表示,谷歌公司此次的计算机操作系统计划,将使得谷歌与微软之间本已激烈的竞争再次升级。谷歌在其公司博客上表示,此次研发的操作系统将主要适用于上网本,而这也是目前整个市场的热点。谷歌表示,此次这款开源软件将被命名为Chrome OS,并于2010年下半年正式上市。 谷歌在其公司博客上表示:“这款Chrome OS操作系统,将具有高速、简约及安全等主要性能。我们希望这款操作系统能够为用户提供使用的便捷性,并能够更快速的进入互联网。”在此之前,谷歌已经推出了手机操作系统Android,另外,数款上网本也使用了这款操作系统。 长期以来,谷歌一直致力于计算机软件对于互联网的兼容性,以取代以计算机为中心的软件开发方式。谷歌希望,能够开发出通过互联网浏览器直接运行的软件,从而减少对于硬件设备的依赖性。 2008年,谷歌宣布推出Chrome浏览器。该公司表示,这款浏览器将使得用户完全整合谷歌所提供的各种服务。自那以来,谷歌又不断强化这款浏览器的功能,甚至在未能取得互联网连接的情况下,用户也能够通过这款浏览器来运行程序。 对于谷歌而言,究竟要花费多长时间才能将Chrome发展为一款全能型的操作系统目前仍然不得而知。但是Netscape联合创始人安德里森(Marc Andreessen)在最近一次采访时曾表示,Chrome已经取得了长足的进步。他说:“基本上可以说,Chrome已经是一款现代的操作系统。”另外在内部工作中,谷歌长期使用Linux操作系统。 目前谷歌Chrome浏览器Windows 版的最新版本是:6.0.447.0 dev 目前发现过往版本5.0.371.0 Dev与微点主动防御发生冲突 [编辑本段]宣布 官方的正式宣布预定在2008年9月3日举行,并将寄给记者和部落客一则解说新浏览器特色和研发动机的漫画,该漫画由史考特·迈克劳德(Scott McCloud)所绘制,并在创作共享的“姓名标示-非商业性-禁止改作2.5”版权协议下发行。由于要送往欧洲的信件提早寄出,因此德国“Google Blogoscoped”博客的作者菲利普·蓝森(Philipp Lenssen)在2008年9月1日收到漫画后就扫描并放上自己的网站。随后Google就将这则漫画放到Google Books和Google网站上,并在自家的博客中说明了提早释出的原因。 [编辑本段]发布 Google官方Blog在9月2日撰文说,将于第二天在超过100个国家同时发布Chrome的Beta版。 北京时间9月3日凌晨3:02,官方Blog宣布Beta版已经可以下载。 2009-05-22 Google终于发布了Chrome V2.0的首个正式版本。Chrome 2.0正式版版本号为V2.0.172.28,Windows 版最新版本V6.0.427.0 dev 目前发现过往版本5.0.371.0 Dev与微点主动防御发生冲突 [编辑本段]不支持或未实现的功能 ●鼠标手势,但可通过其他应用程序实现,如StrokeIt。 ● Google Toolbar。 ●WebKit引擎限制(自动换页,ActiveX,VBS)。 ●没有WebKit的特别功能。 ● RSS。 ●网页引擎WebKit的版本过旧,因为旧版本的漏洞仍存在于Chrome。 [编辑本段]安全性 黑名单(Blacklists) Chrome会定期地更新防止网络钓鱼和恶意软件的黑名单,并在使用者试图浏览可能造成计算机损害的网站时予以警告。这项服务也可通过使用其他的免费自由应用程序界面(API)“Google Safe Browsing API”来取得。在更新维护这些黑名单的同时,Google也会通知被列入的网站,以避免网站持有者本身不知道网站存有恶意软件。 沙盒(Sandboxing) Chrome中的每一个标签页都是一个沙盒(sandbox),以防止“恶意软件破坏用户系统”或“利用分页影响其他分页”。遵守最小权限原则,每个动作的权限都会被限制,仅能运算而无法写入文件和从敏感区域读取文件(如我的文档、桌面),与Internet Explorer 7的“保护模式”类似。 “沙盒小组”表示他们“使用了现有的执行程序限制,并让这些限制变成一座监狱”例如在其中一个标签页运作的恶意软件,将无法窃取信用卡号码、干扰鼠标运作,或告诉系统在启动时执行某个程序,并且恶意软件会在标签页关闭时立即中止。 插件(Plugins) Adobe Flash Player等插件通常并没有统一的标准,且无法像标签页般沙盒化。这些通常需要执行在浏览器本身的安全等级或更高的等级。为了降低被攻击的风险,插件是在与不同的处理程序中被执行。 无痕浏览(Incognito) Chrome包含了“无痕浏览”(Incognito)模式(与Safari的“私密浏览”和Internet Explorer 8的“InPrivate”类似),这个模式可以“让你在完全隐密的情况下浏览网页,因为你的任何活动都不会被记录下来”,同时也不会储存Cookies。当在窗口中激活这个功能时“任何发生在这个窗口中的事情都不会进入你的计算机。” 多进程(Multiprocessing) 能容许多个程序同时执行而互不影响,每个网页标签将位于程序窗口的外沿单独存在,当资源过高或崩溃时,不会因为一个停顿而整个程序当掉。 更新(Update) 每五小时自动更新主程序,更新后会在下一次启动中使用。 [编辑本段]速度 JavaScript 利用内置独立的JavaScript虚拟机“V8”来提高运行JavaScript的速度。(把JavaScript代码转换成机器码,利用CPU直接运算,减少了解释JavaScript的时间) HTML排版引擎 在Android团队的建议下,Chrome使用WebKit引擎。WebKit简易小巧,并能有效率的运用内存,符合Google理念,并且对新开发者来说相当容易上手。 [编辑本段]使用者界面 Gears Chrome包含了Google Gears,研发者可利用这项功能制作网页应用程序(web applications,包含脱机支持)。 新分页浏览(New Tab Page) Chrome使用“新分页页面”取代了其他浏览器在新开分页时会加载的首页。新分页页面中显示了最近九个造访过网站的缩图,以及最常搜索的网站、最近的书签和最近关闭的分页。 多功能网址列(Omnibox) 在每个标签页的上方是被称作“Omnibox”的网址列,是根据Opera上的网址列而来。Omnibox有自动完成的功能,但仅会针对手动输入的网址有效;此外还有搜索建议、上次浏览网页、热门网页(未浏览的)以及搜索记录。 弹出式窗口(Popups) 弹出式窗口会在标签页内显示,并不会在标签页内以外的地方出现,除非使用者将窗口拖曳至别处。 分页(Tabs) 分页是Chrome使用者界面中最重要的元素,为梯形设计,其位于窗口的最上方而非控制按钮的下方(与Opera类似)。这项改变与许多目前的分页浏览器做法不同。不同窗口的分页可轻易的利用拖曳的方式交换配置。每一个标签页都有自己的控制按钮组,包含称为“Omnibox”的网址列。 网络应用程序(Webapps) 网络应用程序可在没有网址列(Omnibox)和浏览工具栏的情况下在Chrome中执行。 [编辑本段]其他 工作管理员(Task Manager) 利于管理各个分页与外挂,有助用户终止恶意操作。 [编辑本段]浏览器标准测试 ●Acid1及Acid2均顺利通过。 ●Acid3可以顺利通过(2.0,3.0正式版 4.0 dev版),但会显示LINKTEST FAILED ●CSS3 Selectors Test中578项全部通过。 [编辑本段]彩蛋 ● about:internets - 一个屏幕保护设备 ● about:memory -显示内存使用状态 ● about:stats-显示状态 ● about:network-网络工具 ● about:histograms-显示历史记录 ● about:dns - 用来显示DNS的状态 ● about:cache-显示缓存页面 ● about:plugins - 用来显示附加元件的状态 ● about:version-显示版本信息 ● about:crash - 显示崩溃画面 ● about:hang - 使这个页面假死(不接受任何命令) ● about:shorthang - 让这个页面假死约20秒 [编辑本段]XChrome XChrome是针对Chrome的皮肤管理工具。通过它用户可以快速简单地安装皮肤,并对现有的主题皮肤进行管理。国外一些Chrome资源站已经提供支持XChrome的Chrome主题安装文件,对于这些文件,如果你已经安装了XChrome,那么直接运行即可完成主题皮肤安装。 [编辑本段]扩展程序 谷歌浏览器扩展程序可让您十分方便地在浏览器中添加更多功能。有时,某个功能对部分人来说会非常实用,但对其他人而言则并非如此。扩展程序可让您自定义谷歌浏览器的各种功能,同时可以精简浏览器,去掉其中不需要的功能。 扩展程序有以下几种不同的类型: 浏览器操作 此类扩展程序会在"网页"菜单和"工具"菜单旁添加一个按钮;这样,无论您访问什么网页,都可以非常方便地执行任务(例如,访问网站或检查更新)。例如,您可以试试 Google Mail Checker(仅提供英文版)之类的扩展程序。 网页操作 无论您什么时候访问特定类型的网页,此类扩展程序都会检测出来,并在地址栏中显示一个图标。点击该图标可对网页执行相应的操作。例如,RSS Subscription Extension(仅提供英文版)只要检测到您访问的网页上存在供稿,就会显示一个小图标。点击该图标就可以立即订阅该供稿。 内容脚本 此类扩展程序可直接与您访问的网页互动。例如,Google Translate(仅提供英文版)只要检测到网页的语言与谷歌浏览器的语言不同,就会在该网页顶部显示横幅。您可以点击横幅中的按钮,以便将该网页自动翻译成您选择的语言。 P.S 目前chrome已经可以通过各种扩展程序实现对IE内核网页的浏览,但还不能说chrome就是双内核浏览器。 常用插件 AdBlock -- 广告过滤,可以过滤掉绝大多数广告,本插件在Firefox就顶顶有名,安装量、热度也是很好的。 安装该插件,可以选择安装Browser Button for AdBlock。 IE tab -- 使用IE内核 浏览 Chrome 还不兼容的页面,比如各银行登陆界面。 支付宝插件 - 这个需要从支付宝官网下载,是登陆淘宝、支付宝用的安全控件。 旺旺(wangwang) 协议 -- 就是淘宝购物,能够直接聊天的协议包,不用登陆网页,直接使用软件旺旺聊天。 Smooth Gestures - 鼠标手势插件,很方便好用的鼠标手势插件,可以自定义手势(某些系统标签禁止运行插件,是不能采用手势的,增强浏览器的安全性)。 站长常用插件 Speed Tracer是能帮助您发现并解决网络应用程序中的性能问题的一个扩展包。借助Speed Tracer,您可以更好地了解在应用程序中的哪些地方消耗了时间,并可以解决JavaScript语法分析和执行、CSS式样以及更多方面的问题。 Resolution Test,它可以改变浏览器窗口大小,从而使网站开发者可以在不同的屏幕分辨率下预览网站。它包括一个常用分辨率列表,以及可以输入您自己的分辨率的定制选项。 Web Developer扩展包,您可以访问其他的开发者工具,例如验证选项,页面尺寸调整和CSS要素浏览器:所有功能都可以从工具栏中一个额外的按钮进入。 Chrome Editor是您不能错过的。它可以让您在浏览器中轻松编码,这样,您就不必在浏览器和代码编辑器之间切换。同时,您还可以在电脑上保存参考代码供日后使用。 [编辑本段]Chrome 浏览器市场占有率新突破 根据 Net applications 公布的数字,Chrome 在5月份已经占据了 7.05% 的市场份额,比4月的 6.73% 再次上涨 0.32 的百分点,而1年前的09年5月,这一数字仅为 2.18%。 竞争对手方面,Firefox 从24.35%微涨至24.59%,Safari 虽然推出了支持扩展的 5.x,但是还是从 4.77% 跌至 4.72,IE 也是从59.95%小跌至59.69%。 注意: 此版本为 谷歌浏览器(Google Chrome) 6.0.447.0 Dev 版。
1.63MB
chrome.exe
2020-04-01个性化,网速快,可登录合为一体 Google公司出版的浏览器,超好用 软件概述 Google Chrome是由Google开发的一款设计简单、高效的Web浏览工具。 Chrome Android Chrome Android Google Chrome的特点是简洁、快速。GoogleChrome支持多标签浏览,每个标签页面都在独立的“沙箱”内运行,在提高安全性的同时,一个标签页面的崩溃也不会导致其他标签页面被关闭。此外,Google Chrome基于更强大的JavaScript V8引擎,这是当前Web浏览器所无法实现的。 另有手机版的Chrome浏览器,于2012年发布了Chrome浏览器移动版,提供IOS系统、安卓系统以及Windows Phone系统的Chrome浏览器,在保持浏览器原有特点的情况下,实现了多终端使用浏览器,具有共享收藏历史信息等功能,是手机浏览器的一次巨大突破。随着Android系统的份额不断扩大而市场占有率不断飙升。 ·Chrome浏览器基于开源引擎WebKit、Blink,其中包含谷歌Gears。 ·Chrome提供了浏览器扩展框架,可以制作与Adobe-AIR类似的混合应用。 ·包含V8 Javascript虚拟机,这个多线程的虚拟机可以加速Javascript的执行。 ·具备隐私浏览模式,可以让用户无需在本地机器上登录即可使用,这个功能与微软IE8中的Incognito类似。 ·浏览器将内置防止“网络钓鱼“及恶意软件功能。 Google曾在自己的官方博客中宣布在Beta版Chrome25 中将加入网络语音API(Web SpeechAPI),让用户在某些嵌入了JavaScript的网页中可以更方便地使用语音指令、听写等功能。同时新版本在内容安全策略标头(Content Security Policy header)方面也有所改进,开发者可以创建网页、资源白名单,以此来提升浏览器的安全性。 软件名称 Google Chrome浏览器 Google Chrome浏览器 Google Chrome,又称谷歌浏览器,是一个由Google(谷歌)公司开发的免费网页浏览器。“Chrome”是化学元素“铬”的英文名称;过去也用Chrome称呼浏览器的外框。本软件的程式码是基于其他开放源代码软件所撰写,包括WebKit和Mozilla,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。软件的名称是来自于又称作“Chrome”的网络浏览器图形使用者界面(GUI)。 软件优点 不易崩溃 最新版Google Chrome 最新版Google Chrome Chrome最大的亮点就是其多进程架构,保护浏览器不会因恶意网页和应用软件而崩溃。每个标签、窗口和插件都在各自的环境中运行,因此一个站点出了问题不会影响打开其它站点。通过将每个站点和应用软件限制在一个封闭的环境中这种架构,这进一步提高了系统的安全性。 速度快 使用WebKit引擎。WebKit简易小巧,并能有效率的运用存储器,对新开发者来说相当容易上手。Chrome具有DNS预先截取功能。当浏览网页时,“Google Chrome”可查询或预先截取网页上所有链接的IP地址。目标网页。Chrome具有GPU硬件加速:当激活GPU硬件加速时,使用“Google Chrome”浏览那些含有大量图片之网站时可以更快渲染完成并使页面滚动时不会出现图像破裂的问题。 2013年4月份,Google宣布称将为Chrome浏览器开发新的自主浏览器引擎Blink,在最新的Chrome开发版本中,Blink已经正式现身。 [7] 几乎隐身 说Chrome的界面简洁不足以说明其简洁程度。Chrome几乎不像是一款应用软件,屏幕的绝大多数空间都被用于显示用户访问的站点,屏幕上不会显示Chrome的按钮和标志。Chrome的设计人员表示,他们希望用户忘记自己在使用一款浏览器软件,他们的目标基本上实现了。 搜索简单 Chrome的标志性功能之一是Omnibox--位于浏览器顶部的一款通用工具条。用户可 以在Omnibox中输入网站地址或搜索关键字,或者同时输入这两者,Chrome会自动执行用户希望的操作。Omnibox能够了解用户的偏好,例如, 如果一名用户喜欢使用PCWorld网站的搜索功能,一旦用户访问该站点,Chrome会记得PCWorld网站有自己的搜索框,并让用户选择是 否使用该站点的搜索功能。如果用户选择使用PCWorld网站的搜索功能,系统将自动执行搜索操作。 标签灵活 Chrome为标签式浏览提供了新功能。用户可以“抓住”一个标签,并将它拖放到单独的窗口中。用户可以在一个窗口中整合多个标签。Chro
10KB
Yuzi调查引擎2000
2002-10-121. 支持多用户模式。 2. 在线申请友情连接在线开通。 3. 申请EMAIL回复功能。 4. 条型图投票百分比显示。 5. 为用户提供滚动JAVASCRIPT更新代码。
Java8零基础入门视频教程
2016-09-29这门课程基于主流的java8平台,由浅入深的详细讲解了java SE的开发技术,可以使java方向的入门学员,快速扎实的掌握java开发技术!
JavaEE+大数据+2个实战项目终极套餐震撼来袭
2017-05-19该套视频教程共包含16门课程,分别是Linux入门到精通、大型ERP项目实战教程、solr教程、Lucene教学视频、Java反射与注解开发、Hadoop大数据入门教程、Activiti工作流教程、redis高并发由浅入深、webservice入门教程、hibernate4入门教程、大型分布式redis+solr+Linux+nginx+springmvc+mybatis电商项目、struts2深入浅出、oracle入门到大神、springmvc深入浅出、spring 3.2教程、mybatis入门到精通教程、Java EE教程、Mysql教程。
Python金融数据分析入门到实战
2019-09-26<p> <strong><span style="font-size:16px;color:#003399;">会用Python分析金融数据 or 金融行业会用Python</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">职场竞争力更高</span></strong> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdnimg.cn/202012231042221925.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="font-size:16px;color:#003399;">Python金融数据分析入门到实战</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">Get√金融行业数据分析必备技能</span></strong> </p> <p> <img src="https://img-bss.csdnimg.cn/202012231042438069.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="font-size:16px;color:#003399;">以股票量化交易为应用场景</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">完成技术指标实现的全过程</span></strong> </p> <p> <br /> </p> <p> <span style="font-size:14px;">课程选取股票量化交易为应用场景,由股票数据的获取、技术指标的实现,逐步进阶到策略的设计</span><span style="font-size:14px;">和回测,由浅入深、由技术到思维地为同学们讲解Python金融数据分析在股票量化交易中的应用</span><span style="font-size:14px;">。</span> </p> <p> <br /> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <img src="https://img-bss.csdnimg.cn/202012231043183686.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="font-size:16px;color:#003399;">以Python为编程语言</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">解锁3大主流数据分析工具</span></strong> </p> <p> <br /> </p> <p> <span style="font-size:14px;">Python做金融具有先天优势,课程提取了Python数据分析工具NumPy、Pandas及可视化工具</span><span style="font-size:14px;">Matplotlib的关键点详细讲解,帮助同学掌握数据分析的关键技能。</span> </p> <p> <img src="https://img-bss.csdnimg.cn/202012231043472858.png" alt="" /> </p> <p> <strong><span style="font-size:16px;color:#003399;"><br /> </span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">2大购课福利</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;"><br /> </span></strong> </p> <p> <img src="https://img-bss.csdnimg.cn/202012300628195864.png" alt="" /> </p>
Python数据分析与机器学习实战
2017-01-24<p> <br /> </p> <p> Python数据分析与机器学习实战教程,该课程精心挑选真实的数据集为案例,通过python数据科学库numpy,pandas,matplot结合机器学习库scikit-learn完成一些列的机器学习案例。课程以实战为基础,所有课时都结合代码演示如何使用这些python库来完成一个真实的数据案例。算法与项目相结合,选择经典kaggle项目,从数据预处理开始一步步代码实战带大家入门机器学习。学完该课程即可: 1.掌握Python数据科学工具包,包括矩阵数据处理与可视化展示。 2.掌握机器学习算法原理推导,从数学上理解算法是怎么来的以及其中涉及的细节。 3.掌握每一个算法所涉及的参数,详解其中每一步对结果的影响。 4.熟练使用Python进行建模实战,基于真实数据集展开分析,一步步完成整个建模实战任务。 </p>
Javascript前端开发
2018-03-14JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
Java并发编程精讲
2019-09-28课程会讲解Java中并发相关技术的基础、原理和应用,从线程安全、线程(池),<br /> 锁实现和并发容器等高并发Java实现,去深入理解在并发编程中,<br /> 一些最容易被忽视的点,这些点也是我在多年编程经验中实际用到,<br /> 对于每个小节小课均会有实际的场景应用为你呈现。<br /> 同时这些也是面试过程中面试官考察的重点,掌握这些点,面试和工作时,做到心中有货,不慌不乱,能够胜任。<br />
WebSocket整合SpringBoot、SockJS、Stomp、Rabbitmq分布式消息推送
2020-04-28<p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>1</span><span style="font-family:宋体;">)</span><span>HTML5 WebSocket</span><span style="font-family:宋体;">、异常重连、心跳检测;</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>2</span><span style="font-family:宋体;">)</span><span>SockJS</span><span style="font-family:宋体;">、</span><span>Stomp</span><span style="font-family:宋体;">、</span><span>RabbitMQ Stomp</span><span style="font-family:宋体;">消息代理;</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>3</span><span style="font-family:宋体;">)分别用</span><span>Nginx</span><span style="font-family:宋体;">和</span><span>Spring Cloud Gateway</span><span style="font-family:宋体;">实现多实例负载均衡;</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>4</span><span style="font-family:宋体;">)可靠消息推送(</span><span>Stomp</span><span style="font-family:宋体;">持久化队列、客户端</span><span>ACK</span><span style="font-family:宋体;">确认机制);</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>5</span><span style="font-family:宋体;">)</span><span>Java</span><span style="font-family:宋体;">原生、</span><span>Stomp</span><span style="font-family:宋体;">客户端实现(非浏览器客户端);</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>6</span><span style="font-family:宋体;">)</span><span>Websocket</span><span style="font-family:宋体;">拦截器结合</span><span> Spring security</span><span style="font-family:宋体;">、</span><span>jwt token</span><span style="font-family:宋体;">认证授权。</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>7</span><span style="font-family:宋体;">)</span><span>VUE+elementUI</span><span style="font-family:宋体;">前后分离实现。</span> </p>
- 偷偷地告诉学弟学妹们一个高效学习编程的秘密!大学四年悄悄惊艳他们,嘘 160132021-04-16今天来给大家谈一谈如何高效地学习编程。 无论什么时候,找到学习的目标,以及学习的套路都非常的重要。找不到的话,就只能事倍功半,付出了很多努力,却迟迟得不到最好的回报。 三四年前,我特别喜欢收藏文章,觉得有些技术文写得真好,忍不住收藏了!等过了一段时间后,闲得无聊,就去翻收藏夹,想着学一波,谁知道竟然找不到——不是微信给我删了,而是收藏夹里躺的“尸体”实在是太多了,根本就找不到。 后来,我就总结了一个小窍门——每周收藏夹里最多躺五篇文章,如果想进来第六篇,之前的必须得清一篇。别小看这个小窍门,它真的有督促我去
-
下载
ProbB2.pdf.rar
ProbB2.pdf.rar
-
下载
drm.rar drm 測試demo
drm.rar drm 測試demo
-
下载
三星固态硬盘驱动.zip
三星固态硬盘驱动.zip
-
下载
海油发展:2020年年度报告全文.PDF
海油发展:2020年年度报告全文.PDF
-
下载
宁波建工:宁波建工2020年年度报告.PDF
宁波建工:宁波建工2020年年度报告.PDF
-
下载
Bunifu_UI_v1.52.rar
Bunifu_UI_v1.52.rar
-
下载
ml_in_action.7z
ml_in_action.7z
-
下载
C语言指针练习题.doc
C语言指针练习题.doc
-
下载
思维导图.zip
思维导图.zip
-
下载
英语二真题(1987-2019).zip
英语二真题(1987-2019).zip
