首页logo

金龙博客

关注Asp.Net、Java和前端开发设计,记录平凡点滴...

个人档案

Jonllen
个人档案 | 给他留言
RSS网志 | 心情闪存
妮称:Jonllen
性别:男
年龄:24
来自:中国·湘潭
微博闪存:我回来了~
简述:彭金龙(Jonllen),出生于湖南湘潭,先后就职于惠海IT连锁和广州时代财富科技有限公司,关注Asp.net、Java和前端开发设计。
博客日历

图片幻灯

音乐播放器

文章归档: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日被一个俄国人打破了世界记录,仅仅需

标签:JavaScript,ie
  • posted@ 2010-4-26 22:01:22
  • 阅读(4419)
  • 评论(0)

最近发表

广而告之