对象检测(object detection)
2010-05-10 23:38
381 查看
测试一个对象——比如document.all——是否存在,最安全的方法就是判断它是否返回字符串"undefined"。这个技巧就叫做对象检测(object detection)。
在当今世界里,我们似乎真的无法摆脱Microsoft的影子。无论是window操作系统还是ie浏览器,我们都不得不优先使用它;就算ie6的问题多多,我们都必须把它摆到第一位。国外虽然已经提前给ie6送上了葬礼,连它的老东家微软也宣布了它的死刑;但面对国内依然50%以上占有率,前途似乎依然渺茫。
我很久以前就开始使用Firefox浏览器,Firebug插件让我的工作轻松了很多。
IE6对web标准的支持缺乏已经是公认的事实。CSS一大把bugs和hacks,对Javascript也是特立独行地使用了一些自己专有的对象。比如W3C使用
addEventListener,而ie却使用attachEvent;W3C使用stopPropagation,而ie却使用cancelBubble,等等...
由于ie的市场占用率实在惊人,所以我们这些前端技术人员,满足web标准的同时,也不得不照顾一下ie。为了兼容ie,我们只有多增加几行代码。只需使用if-else语句便可以兼容ie。
W3C使用addEventListener,当我们使用的是firefox浏览器,那它将执行if语句,因为它定义了addEventListener,所以将执行:
如果当前使用的是ie浏览器,由于它没有定义addEventListener,即此时addEventListener返回的类型等于undefined,所以便执行else if语句,微软定义了另外一个,即attachEvent:
这就是经常使用的技巧:对象检测(object detection)
在当今世界里,我们似乎真的无法摆脱Microsoft的影子。无论是window操作系统还是ie浏览器,我们都不得不优先使用它;就算ie6的问题多多,我们都必须把它摆到第一位。国外虽然已经提前给ie6送上了葬礼,连它的老东家微软也宣布了它的死刑;但面对国内依然50%以上占有率,前途似乎依然渺茫。
我很久以前就开始使用Firefox浏览器,Firebug插件让我的工作轻松了很多。
IE6对web标准的支持缺乏已经是公认的事实。CSS一大把bugs和hacks,对Javascript也是特立独行地使用了一些自己专有的对象。比如W3C使用
addEventListener,而ie却使用attachEvent;W3C使用stopPropagation,而ie却使用cancelBubble,等等...
由于ie的市场占用率实在惊人,所以我们这些前端技术人员,满足web标准的同时,也不得不照顾一下ie。为了兼容ie,我们只有多增加几行代码。只需使用if-else语句便可以兼容ie。
function attachEventListener(target, eventType, functionRef, capture) { if (typeof target.addEventListener != "undefined") { target.addEventListener(eventType, functionRef, capture); } else if (typeof target.attachEvent != "undefined") { target.attachEvent("on" + eventType, functionRef); } };
W3C使用addEventListener,当我们使用的是firefox浏览器,那它将执行if语句,因为它定义了addEventListener,所以将执行:
target.addEventListener(eventType, functionRef, capture);
如果当前使用的是ie浏览器,由于它没有定义addEventListener,即此时addEventListener返回的类型等于undefined,所以便执行else if语句,微软定义了另外一个,即attachEvent:
target.attachEvent("on" + eventType, functionRef);
这就是经常使用的技巧:对象检测(object detection)
相关文章推荐
- Deep Neural Networks for Object Detection(基于DNN的对象检测)
- 对象检测(objectdetection)----检测浏览器对JavaScript的支持程度
- Ubuntu 16.04下安装TensorFlow Object Detection API(对象检测API)
- 各种对象检测论文总结(Object Detection )
- 关于GetActiveObject,如何判断所取得对象的类型、、、可以用来检测某个程序是否运行
- 为什么用Object.prototype.toString.call(obj)检测对象类型?
- 目标检测--Object Detection via Aspect Ratio and Context Aware
- 显著性物体检测(salient object detection, SOD)代码汇总
- 视觉学习中对象检测到的概率(1)(Probabilistic Visual Learning for Object Representation)
- 【目标检测】Object Detection Fast RCNN 算法解析
- 对抗学习用于目标检测--A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection
- 目标检测(Object Detection)原理与实现(二)
- 使用判别训练的部件模型进行目标检测 Object Detection with Discriminatively Trained Part Based Models
- 目标检测(二)--Hough Forests for Object Detection
- 目标检测--Enhancement of SSD by concatenating feature maps for object detection
- 目标检测--PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection
- 行人检测论文笔记:Fast Feature Pyramids for Object Detection?
- 特征金字塔特征用于目标检测:Feature Pyramid Networks for Object Detection
- 目标检测“Focal Loss for Dense Object Detection”
- 目标检测(Object Detection)原理与实现(六)