
js
文章平均质量分 65
xiaobai251206725
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
IE6不能用gzip压缩脚本,一个流毒甚广的谣言
<br />很多人遇到IE6下面脚本不运行的问题,在网上搜索一番后,都会遭遇到这篇流毒甚广的文章<br /><br />文章作者说“跑到微软那一查,给的答复让我吐血:Do not enable HTTP compression for the script files 请不要对脚本文件开启http压缩 只好在服务器端增加对浏览器的识别代码,如果是ie6,就不压缩脚本文件了 虽然脚本能运行了,可是用户体验就... 哎,我恨ie 6”<br />唉,说啥好呢?<br />真相是,微软的答复(http://转载 2011-03-09 17:39:00 · 1327 阅读 · 0 评论 -
JavaScript中运算符的优先级
<br />运算符优先级<br />JavaScript中的运算符优先级是一套规则。该规则在计算表达式时控制运算符执行的顺序。具有较高优先级的运算符先于较低优先级的运算符执行。例如,乘法的执行先于加法。<br /><br />下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。<br /> <br /> <br />运算符描述<br />. [] ()字段访问、数组下标、函数调用以及表达式分组<br />++ -- - ~ ! delete new原创 2010-11-03 10:07:00 · 714 阅读 · 0 评论 -
可能被你忽略的 JavaScript 代码陷阱
下面这段代码,你知道有哪些错误吗:var g_bar = "bar";function foo(container, config) { var container = container || document, name = config.name || "无名氏", isLive = config.isLive || true; var g_bar = g_bar || ""; if(g_foo) { /* y转载 2010-11-02 22:45:00 · 430 阅读 · 0 评论 -
命名函数表达式探秘
JScript的bug令人讨厌的是,JScript(也就是IE的ECMAScript实现)严重混淆了命名函数表达式。JScript搞得现如今很多人都站出来反对命名函数表达式。而且,直到JScript的最近一版——IE8中使用的5.8版——仍然存在下列的所有怪异问题。下面我们就来看看IE在它的这个“破”实现中到底都搞出了哪些花样。唉,只有知已知彼,才能百战不殆嘛。请注意,为了清晰起见,我会通过一个个相对独立的小例子来说明这些问题,虽然这些问题很可能是一个主bug引起的一连串的后果。例1:函数表达式的标识符转载 2010-11-02 22:06:00 · 492 阅读 · 0 评论 -
关于函数声明表达式的一道题目
lifesinger 出了个题目:f=function(){returntrue;};g=function(){returnfalse;};(function(){if(g()&&[]==![]){f=functionf(){returnfalse;};functiong(){returntrue;};}})();f();// What's the result?本人测试结果:IE 6,7,8: trueFirefox 3.6.8: trueChrome 6, IE9 beta, Safari 5: f转载 2010-11-02 22:13:00 · 602 阅读 · 0 评论 -
event.keycode值大全
<br />event.keycode值大全<br /> 1 keycode 8 = BackSpace BackSpace <br /> 2 keycode 9 = Tab Tab <br /> 3 keycode 12 = Clear <br /> 4 keycode 13 = Enter <br /> 5 keycode 16 = Shift_L <br /> 6 keycode 17 = Control_L <br /> 7 keycode 18 = Alt_L <br /> 8 k转载 2010-11-01 17:01:00 · 399 阅读 · 0 评论 -
在线Html编辑器粘贴过滤技术详解
最近在解决数据粘贴方面取得了不少进展,作为Html在线编辑器所必须具备的技术,在这里详细给大家介绍并提供实现参考。在研究过程中,我也确实走了不少弯路,尝试了n种方式,由于美国的PM始终觉得有些影响用户体验的东西无法接受,导致好几个提案被否定,不过收获还是很丰富的。我现在写code喜欢需求驱动,让我们来看看这项技术的主要需求* 能够过滤用户贴进来的纯文本数据 * 能够过滤用户贴进来的html数据(未经Html编码) * 能够过滤用户贴进来的Word数据,并能把大部分Word格式保留下来。 * 在这一过程中转载 2010-11-01 21:48:00 · 693 阅读 · 0 评论 -
javascript线程解释(setTimeout,setInterval你不知道的事)(2)
今天看到这篇文章,学到了不少东西 特此发出来 和大家分享JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感, 例如setTimeout( function(){ alert(’你好!’); } , 0);setInterval( callbackFunction , 100);认为setTimeout中的问候方法会立即被执行,因为这并不是凭空而说,而是JavaScript API文档明确转载 2010-10-31 12:23:00 · 697 阅读 · 0 评论 -
js中匿名函数的那些事儿
在java中有private属性,强大的功能js不能实现就矮人一截,匿名函数,发扬广大 匿名函数没有实际名字,也没有指针,怎么执行滴? 其实大家可以看看小括号的意义就应该可以理解。小括号有返回值,也就是小括号内的函数或者表达式的返回值,所以说小括号内的function返回值等于小括号的返回值,不难理解 (function(){})()可以将没有名字的函数执行了把… 关于匿名函数写法,很发散~ 最常见的用法:(function() { aler转载 2010-10-31 12:01:00 · 429 阅读 · 0 评论 -
W3C Javascript 最新Chm格式下载
<br />http://code.google.com/p/mootoolstools/downloads/list<br /> <br />原创 2010-10-31 12:26:00 · 798 阅读 · 0 评论 -
setTimeout,xhr,event线程问题
由 http://lifesinger.org/blog/?p=1568 所想1. javascript 是单线程的,其实只有xhr是新开了一个线程而已。第一段代码: Js代码 setTimeout(function () { alert(1); }, 0); setTimeout(function () { alert(2); }, 0); Ext.ajax.request({ url: 'xx.不存在', failture: funct原创 2010-10-31 21:05:00 · 622 阅读 · 0 评论 -
eval和window.eval的区别
<br /><br /> eval 方法在各浏览器都按照规范定义,根据当前代码上下文执行 eval 方法中的脚本,如果没有指定上下文,该脚本将在全局上下文中执行。<br /> window.eval 方法,在 IE6 IE7 IE8 中依然在脚本所在上下文中执行,而 Firefox Chrome Safari Opera 中则将该脚本会在全局上下文中执行。<br /> <br /> 造成的影响<br /> window.eval 方法执行一段代码时,若在指定上下文中定义了变量, IE6 IE7 IE原创 2010-11-08 15:33:00 · 723 阅读 · 0 评论 -
parseInt 小陷阱
<br /><br />看代码:alert(parseInt(0.000001));alert(parseInt(0.0000001));<br />第一条语句输出 0, 第二条语句输出 1, 囧。<br />继续看代码:alert(parseInt('0.000001'));alert(parseInt('0.0000001'));<br />都输出 0, 这才符合预期。<br />查看 ECMA-262 规范,parseInt 会先调用 toString 方法。问题已逐渐清晰:alert转载 2010-11-10 13:20:00 · 537 阅读 · 0 评论 -
Concat string using join without push
<br /><br />Summary:<br />随着 IE 7- 的份额下降,join 法将逐步退出舞台。Chrome 的 push 明显优化过。join-without-push 方法,除了在 Chrome 下无优势,在其他浏览器下都挺不错,推荐。转载 2010-11-10 13:21:00 · 372 阅读 · 0 评论 -
IE和Firefox对同一域名进行请求的并发连接数限制
IE8的并发连接数限制为10;Firefox 3.6.8和chrome 5.0的并发连接数都为6。转载 2011-02-11 11:12:00 · 3347 阅读 · 0 评论 -
try finally 妙用,防止内存泄漏
try finally 妙用,防止内存泄漏转载 2011-02-09 14:19:00 · 606 阅读 · 0 评论 -
escape、encodeURI、encodeURIComponent等方法的区别
<br />对于ASCII字符,这三个函数的作用都是将字符转换成百分比编码(Percent-encoding ),区别是各自排除编码的字符不同:<br /><br />escape() will not encode: @*/+<br /><br />encodeURI() will not encode: ~!@#$&*()=:/,;?+'<br /><br />encodeURIComponent() will not encode: ~!*()'<br /><br />此外,escap转载 2010-11-25 15:10:00 · 369 阅读 · 0 评论 -
得到IFrame中的内容
// 在同域下得到iframe种的内容; document.getElementById('loadingIframe_thread5036').contentWindow.document.body.innerHTML// 如果是不同域 IE下将会出现拒绝访问;原创 2010-11-15 11:37:00 · 526 阅读 · 0 评论 -
利用HTTP-only Cookie缓解XSS之痛
<br />在Web安全领域,跨站脚本攻击时最为常见的一种攻击形式,也是长久以来的一个老大难问题,而本文将向读者介绍的是一种用以缓解这种压力的技术,即HTTP-only cookie。<br />我们首先对HTTP-only cookie和跨站脚本攻击做了简单的解释,然后详细说明了如何利用HTTP-only cookie来保护敏感数据,最后介绍了实现HTTP-only cookie时确定浏览器版本的具体问题。<br />一、XSS与HTTP-only Cookie简介<br />跨站点脚本攻击是困扰We转载 2011-01-06 14:22:00 · 671 阅读 · 0 评论 -
javascript拖拽
了提高用户体验,让操作更便捷化,拖拽操作会很常见,比如操作系统里面,你要删除一个文件,你可以直接把它拖入回收站,wordpress也有类型的功能,你想在侧边栏增加一个板块,可以直接拖一个小工具过去就行了,这的确方便了很多。如何在网页里面实现拖拽,本文做一个简单的解析。首先说一下拖拽的原理:鼠标在目标上按下(mousedown)——>摁住鼠标不放,然后移动鼠标(mousemove)——>获取鼠标的坐标位置,让目标跟随鼠标——>鼠标释放(mouseup),让目标停止跟随。(示意图)基本原理就是这样的,具体一些扩转载 2011-01-01 22:47:00 · 1172 阅读 · 1 评论 -
JavaScript 全半角转换
<br /><br />规律:半角空格的 charCode 为 32, 全角空格为 12288. 其他半角字符 ( 33 – 126 ) 与全角 ( 65281 – 65374 ) 的对应关系是:均相差 65248.<br />找好规律,代码就好写了:var hash = {'32' : '/u3000'};// 半角转全角function sbc2dbc(str) { var ret = [], i = 0, len = str.length, code, chr; for (转载 2010-11-10 13:46:00 · 576 阅读 · 0 评论 -
catch(ex) and window.onerror
<br />Only IE and Firefox support window.onerror. Webkit, please catch up:<br /><br />javascript-exception-handling-techniques.html<br /> <br /> <br />测试结果:<br />Summary所有浏览器都有:ex.message除了 Opera, 都有:ex.nameex 的其它属性,各有千秋目前只有 IE 和 Firefox 支持 window.onerror转载 2010-11-10 13:39:00 · 675 阅读 · 0 评论 -
addEventListener在各个浏览器中的区别
<br />IE9 beta has supported addEventListener, but still has some bizarreness:<br /> <br /> <br />非 ie 下,onxxx 相当于 addEventListener, 顺序严格遵守 FIFO (First In, First Out)ie 下执行顺序为:onxxx 添加的先执行,接着再执行 addEventListener/attachEvent 添加的ie9 beta: attachEvent 等同 addE转载 2010-11-10 13:37:00 · 764 阅读 · 0 评论 -
学习jquery的简单方法
<br /><br />学习复杂代码的最好方法是简化:(function(win, undefined) { var jQuery = function(selector, context) { // jQuery 对象就是 init 函数的一个实例 return new jQuery.fn.init(selector, context); }, document = window.document,转载 2010-11-10 13:25:00 · 510 阅读 · 0 评论 -
setTimout 0间隔问题
关于 setTimeout 相关的文章:setTimeout ,xhr,event 线程问题使用 javascript Workers 进行计算Analyzing Timer PerformanceRevenge of the TimersOn JavaScript, EDP, and 0ms timeouts总结:1.由于javascript属于事件驱动编程(EDP Event Driven Programming),运行在浏览器中,则同其他 gui 程序一样要依赖于事件队列,并且界面操作为单线程。2.在转载 2010-10-31 20:59:00 · 606 阅读 · 0 评论 -
Unsafe JavaScript attempt to access frame with URL(window.open 子窗体得不到父窗体的句柄)
<br />前几天在调试的时候 发现用window.open方法打开一个页面之后 在子窗体无法得到父窗体的句柄; 并且在chrome js即时窗口下输入地址报<br /> <br /> <br />Unsafe JavaScript attempt to access frame with URL<br /> <br /><br /><br /> <br />2Unsafe JavaScript attempt to access frame with URL http://live.beta.v.sin原创 2010-12-14 11:25:00 · 15832 阅读 · 1 评论 -
JavaScript 全面解析各种浏览器网页中的JS 执行
<br />我们知道javaScript是一种解释型语言,他的执行是自上而下,但是各个浏览器对于至上而下的理解是有细微差别的,而代码的上下游也就是程序流又对于程序正确至关重要,所以我觉得有必要深入理解多个js块儿的执行顺序。 <br />首先得知道有多少方法能把javaScript加入到页面中呢?常见下述的前2种,其实还有更多。 <br />1.页面中直接引入外部js文件:<script src="my.js"></script> <br />2.页面中直接写如js片段<script>alert转载 2010-09-17 23:15:00 · 635 阅读 · 0 评论 -
js常用函数
<br />1.document.write(""); 输出语句<br />2.JS中的注释为//<br />3.传统的HTML文档顺序是:document->html->(head,body)<br />4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)<br />5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value)<br /转载 2010-09-17 23:20:00 · 314 阅读 · 0 评论 -
闭包
<br />闭包是可以包含自由(未绑定)变量的代码块;这些变量不是在这个代码块或者任何全局上下文中定义的,而是在定义代码块的环境中定义。“闭包”一词来源于以下两者的结合:要执行的代码块(由于自由变量的存在,相关变量引用没有释放)和为自由变量提供绑定的计算环境(作用域)。在Scheme、Common Lisp、Smalltalk、Groovy、JavaScript、Ruby 和 Python等语言中都能找到对闭包不同程度的支持。 <br /> 闭包的价值在于可以作为函数对象 或者匿名函数转载 2010-09-17 23:13:00 · 1519 阅读 · 0 评论 -
Ie和firefox的Js区别
1. 对象问题 1.1 Form对象 现有问题:现有代码这获得form对象通过document.forms("formName"),这样使用在IE 能接受,MF 不能。解决方法:改用 作为下标运算。改为document.forms["formName"]备注上述的改用 作为下标运算中的formName是id而name1.2 HTML对象 现有问题:在 IE 中,HTML 对象的 ID 可以作为 docum转载 2010-09-17 23:18:00 · 341 阅读 · 0 评论 -
js function
<br />一、function概述<br /> javascript中的函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的。通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递。<br /> 函数对象与其他用户所定义的对象有着本质的区别,这一类对象被称之为内部对象。内置对象的构造器是由JavaScript本身所定义的。<br />二、function对象的创建<br /> 在JavaScript中,函数对象对应的类型是Function,可以通过n转载 2010-09-17 23:16:00 · 2127 阅读 · 0 评论 -
cookie
<br />1. Cookie 在每次 HTTP 请求时都发送到 Web 服务器,这是一种资源浪费原创 2010-09-17 23:05:00 · 310 阅读 · 0 评论 -
Javascript关键字(Reserved Words) 保留字
<br />Javascript关键字(ReservedWords)是指在Javascript语言中有特定含义,成为Javascript语法中一部分的那些字。Javascript关键字是不能作为变量名和函数名使用的。使用Javascript关键字作为变量名或函数名,会使Javascript在载入过程中出现编译错误。 <br />Javascript关键字列表: <br />break delete function return typeof <br />case do if sw转载 2010-09-17 23:28:00 · 679 阅读 · 0 评论 -
js页面定位,相关几个属性
网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.scrollHeight 网页被卷去的高:document.body.scrollTop转载 2010-09-17 23:22:00 · 358 阅读 · 0 评论 -
JS复制文本到剪切板
<br />function copyToClipboard(txt) {<br /> if(window.clipboardData) {<br /> window.clipboardData.clearData();<br /> window.clipboardData.setData("Text", txt);<br /> alert("Your request has been processed successfully.");<br /转载 2010-09-17 23:21:00 · 324 阅读 · 0 评论 -
理解JS脚本执行的过程
<br />一、前言JavaScript脚本在页面上的执行顺序问题,一直是个令javascript初学者困惑的问题。接下来我将就这个问题做一比较全面的总结,希望对初学者有所帮助。本文从以下四个方面讲解javascript的执行顺序问题:<br />1) HTML文件的生命周期<br />2) JavaScript是如何嵌入到HTML文件中的?<br />3) JavaScript在页面中的执行顺序<br />4) 如何改变JavaScript执行顺序<br /转载 2010-09-17 23:14:00 · 1651 阅读 · 0 评论 -
JS判断浏览器是否是关闭
<br />js标签只有onload"onunload"onbeforeunload事件,而没有onclose事件。不管页面是关闭还是刷新都会执行onunload事件。如何捕捉到页面关闭呢?<br />页面加载时只执行onload <br />页面关闭时只执行onunload <br />页面刷新时先执行onbeforeunload,然后onunload,最后onload。这样我们可以在onbeforeunload中加一个标记,在onunload中判断该标记,即可达到判断页面是否真的关闭了。<br /> <转载 2010-09-17 23:23:00 · 3561 阅读 · 0 评论 -
JavaScript 框架比较
<br />简介<br />JavaScript是面向对象的脚本语言,长期以来用作 Web 浏览器应用程序的客户端脚本接口。JavaScript 让 Web 开发人员能以编程方式处理 Web页面上的对象,并提供了一个能够动态操作这些对象的平台。在最初引入 JavaScript 时,通常只用于提供 Web页面上的一些不重要的特性,如时钟功能和浏览器状态栏中的滚动文本等。另一个常见的特性是 “rolloverlink”,就是当用户将鼠标移到图片或文本链接上时,图片或文本链接的颜色会改变。然而,近转载 2010-09-17 23:37:00 · 482 阅读 · 0 评论 -
js截取中文字符串
<br />有时在显示某段文字的时候,可能会太长,影响我们页面的显示效果。如果仅是英文,那么我们可以用String.substring(start,end)函数就已经够用了。但是通常我们都会遇到既有英文,又有汉字的情况。而汉字是占用2个字节的,如果用String.substring(start,end)截取字符串的话,会发现汉字截取后比英文截取后个数虽然相同,但是长度还是长出去不少(具体要视字符个数来决定)。<br />为了解决这个问题昨天写了根据字节数截取字符串的函数。<br />具转载 2010-10-05 22:59:00 · 1347 阅读 · 0 评论 -
js创建自定义标签
In my JSP i am using a custom tag <showDateFormat/><br /><br />function addDateFormatInfo(){<br /> var dateFormatHolder = document.getElementsByTagName("showDateFormat"); <br /> if( dateFormatHolder ){ <br /> for( i =0;原创 2010-10-21 22:16:00 · 1063 阅读 · 0 评论