javascript 特征侦测技术

这种新式的技术最先由jquery搞出来的,接着prototype与mootools都支持了。这技术兴起的原因是浏览器嗅探技术是不太可靠,如useragent很容易被伪造,如ie8的useragent就把许多浏览器的关键字包含进去,造成辩识困难。其他一些重要辩识手段,由于浏览器厂商对旧版本的升级与不断推进新版本,许多都无效了。由于浏览器种类越来越多,版本也越来越多,看看ext的核心文件吧,真是有耐性,连火狐与苹果的各个版本都列出来,这东西会没有止境地膨胀,为此特征侦测技术应运而生。这东西只要是用来侦测浏览器工厂自作聪明添加的一些特征,不用说,首当其冲是ie,如自动为table添加tbody,自动为innerhtml去除空白,自动为href属性补全路径……虽然有的的确很有用,如为table添加tbody能加快读写速度,但标准浏览器不这样做,于是麻烦又来了……

innerhtml去除空白特性。按理讲,innerhtml是ie搞出来的,其他浏览器应该完全按照ie的模式渲染才对不起,但它们总要搞出一点特殊来。不过,ie的innerhtml的确有不妥的地方。按微软的思路,innerhtml是用来大规模生成dom元素,如果有一些空白不是包围在标签之内,将会被忽略掉。这是很细心的处理。但标准浏览器则认为innerhtml生成的是页面的一部分,空白也是,因此空白不会被忽略的。注意运行框的结果,1代表元素节点,3是文本节点,空白也是文本节点的一种。这种特征,jquery称之为leadingwhitespace。

运行代码

其他两种cssstyle与opacity就不详说了,ie下都有代替品。在prototype还检测浏览器对xpath,selectorsapi,element,element.prototype的支持,innerhtml在select、col、colgroup、frameset、html、title、style、table、tbody、thead、tfoot、tr、td、th中的读写情况。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值