个人档案
博客日历
文章归档
- 2012-02 (2)
- 2011-08 (1)
- 2011-07 (1)
- 2011-06 (1)
- 2011-03 (1)
- 2011-02 (2)
- 2011-01 (4)
- 2010-12 (1)
- 2010-11 (2)
- 2010-10 (3)
- 2010-09 (1)
- 2010-08 (2)
- 2010-07 (3)
- 2010-06 (3)
- 2010-05 (2)
- 2010-04 (6)
- 2010-03 (6)
- 2010-02 (2)
- 2010-01 (8)
- 2009-12 (6)
- 2009-11 (7)
- 2009-10 (6)
- 2009-09 (11)
- 2009-08 (7)
- 2009-07 (17)
- 2009-06 (10)
- 2009-04 (1)
- 2009-03 (1)
- 2009-01 (3)
- 2008-12 (1)
- 2008-06 (2)
- 2008-04 (2)
分类文档
音乐播放器
文章归档:2010-04-26
有趣的IE判断
var ie = document.all; 在以前,如果单只是判断为IE浏览器使用document.all,它返回是文档所有元素数组,可根据数组下标或元素id、name索引元素。这里注意ff等其他非ie浏览器里并不是完全不支持document.all,在quirks模式下使用document.all.id仍然可以获取元素,只不过document.all不能被探知仍然返回false而已。 var ie = !+'\v1'; 这是一个仅仅需要7bytes的ie判断,判定借助于IE不支持\v垂直制表符。\v在正则里匹配一个垂直制表符,而在IE里不支持'\v1'被认做为'v1',而其他浏览器则为'1',再使用+强制转换为数字,这时IE里就为NaN而其他浏览器则为数字1,最后再加上!强值转换为Boolean类型,此时候IE里就是true而其他浏览器就是false了。 测试:alert('\v1')(ie:v1,others:1);alert(+'\v1')(ie:NaN,others:1);alert(!+'\v1')(ie:true,others:false); var ie = !+[1,]; 今天在逛园子的时候,发现另外一位童孩全世界最短的IE判定真是强淫,利用了IE与标准浏览器在处理数组的toString方法的差异判定,对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它,而IE则不会。原来至少需要7bytes,而在今年的1月8日被一个俄国人打破了世界记录,仅仅需
- posted@ 2010-4-26 22:01:22
- 阅读(4419)
- 评论(0)
博文推荐
搜索
最近发表
- 2012年的期望(2012-02-28)
- 2011年度工作总结(2012-02-18)
- 三年(2011-08-27)
- 使用ReportViewer的rdlc图形报表(2011-07-28)
- 2011时代财富11周年年庆(2011-06-05)





最新评论