`

2 不要检测版本,要检测对象

阅读更多

为了编写能兼容各种浏览器的 javascript ,我们可能首先想的是用js检测各种浏览器的版本,针对性地编写不同的js代码.

 

这种思想是不好的, 是不通用的.

 

正如本文本的题 : 不要检测版本,要检测对象

 

例子:

早期的Netscape 4和 IE 3  是不支持 document.body的  , 所在我们要在我们的js中针对 这两浏览器 避免使用document.body  ,怎么做呢? 很多人一下子想到了, 检测浏览器的版本.  这样做不是最好的.

 

我们要检测浏览器 是否支持 某对象 , 而不是检测版本.

 

if(document.body&&document.body.getElementsByTagName)

{

//可以调用 document.body

//可以调用 document.body.getElementsByTagName

 

}

 

 

假使if()条件不满足, 我们的页面中会少一些闪光点罢了, 但程序是不会出错的,还能正常运行.

 

下面是一个取得事件对象的例子:

 其中的window.event 就是检测对象

// 获得事件对象
function $EVENTObject()
{
 if(window.event)
 { 
  return window.event;
 }
    var f=$EVENTObject.caller;
    while(f!=null)
    {
        var e = f.arguments[0]; 
  alert(e);
        if(e && (e.constructor==MouseEvent||e.constructor==Event||e.constructor==KeyboardEvent)) return e;                 
        f=f.caller;
    }
}  
分享到:
评论

相关推荐

    安卓 apk版本检测

    2. **使用第三方工具**:许多第三方应用管理软件如APKInspector、APK Editor等,可以提供图形化界面来查看APK的详细信息,包括版本号。这些工具通常会解析APK并以友好的方式展示其内容。 3. **编程方式检测**:如果...

    对象检测C++代码调试

    在本文中,我们将深入探讨如何在Visual Studio 2013环境下,利用OpenCV 3.3.1库,结合预先训练的YOLO(You Only Look Once)模型,进行对象检测的C++代码调试。YOLO是一种实时目标检测系统,以其高效和准确性而闻名...

    易语言利用QQ空间检测版本更新

    2) 解析返回的响应数据,提取出版本信息;3) 比较本地版本与服务器版本,判断是否需要更新;4) 如果需要更新,启动更新流程,可能是下载新的安装包或者直接在后台更新;5) 使用交互回调函数处理用户的交互行为,如...

    利用Tensorflowjs实现浏览内的快速对象检测

    要实现浏览内的快速对象检测,我们需要以下步骤: 1. **选择模型**:TensorFlow.js提供了多种预先训练好的对象检测模型,如SSD(Single Shot Detection)、YOLO(You Only Look Once)等。这些模型各有优缺点,比如...

    使用js检测当前浏览器版本,多浏览器类型和版本号检测

    2. **检测浏览器类型** 通过分析`userAgent`字符串,我们可以识别出浏览器的类型。例如,检测是否为IE,可以使用以下代码: ```javascript function isIE() { return /MSIE|Trident/.test(navigator.userAgent);...

    检测对象检测项目检测标准[参照].pdf

    检测对象检测项目检测标准[参照].pdf

    基于C#、ML.NET、ONNX实现YOLOv5对象检测(源码+说明文档).rar

    1、资源内容:基于C#、ML.NET、ONNX实现YOLOv5对象检测(完整源码+说明文档+数据).rar 2、代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 3、适用对象:计算机,电子信息工程、数学等专业的...

    Hough变换对象检测算法

    Hough变换是一种在图像处理领域广泛应用的特征提取技术,特别是在对象检测中表现出了其独特的优势。ECCV2012上发表的文章《Latent Hough Transform for Object Detection》由来自ETH Zurich的计算机视觉实验室以及...

    利用多尺度分割融合进行面向对象的遥感影像变化检测

    面向对象的变化检测是遥感影像分析领域的一种重要技术,它通过将遥感影像中的信息抽象成具有实际地理意义的“对象”来进行处理,而非仅仅对单个像素进行分析。多尺度分割融合技术在面向对象的变化检测中的应用,可以...

    使用候选对象对齐的对象检测(2).zip

    在"使用候选对象对齐的对象检测(2)"的主题中,我们聚焦于一种提高对象检测精度的技术——候选对象对齐。这种方法通常应用于深度学习模型,如Faster R-CNN、YOLO或Mask R-CNN等,通过精细化的对齐策略来优化模型的...

    Python-用于对象检测的关系网络

    2. **构建网络结构**:在深度学习框架中定义关系网络的架构,包括基础的物体检测模型(如Faster R-CNN)和附加的关系模块。 3. **训练模型**:使用预处理的数据集训练模型,这可能涉及多GPU并行训练、学习率调度、...

    yolov:图像对象检测器在视频对象检测方面的表现

    这个技术由Joseph Redmon等人首次提出,并经历了多个版本的改进,包括YOLOv1、YOLOv2、YOLOv3以及YOLOv4等。本文将深入探讨YOLOv在视频对象检测中的具体应用和表现。 首先,YOLOv的核心理念是将目标检测问题转化为...

    使用 TensorFlow 通过 YOLO 进行对象检测

    与在图像的多个区域应用检测的传统方法不同,YOLO 一次检测对象,这使其快速高效。YOLOv3 模型通过引入多尺度预测和更强大的主干网络(称为 Darknet-53)对早期版本进行了改进。 在本文中,我们将探讨如何使用 ...

    cocos2d碰撞检测代码

    Cocos2d是一个广泛使用的开源游戏框架,它提供了丰富的功能,包括场景管理、动画、物理模拟以及我们今天要讨论的碰撞检测。在Xcode5中开发Cocos2d项目,碰撞检测能够帮助游戏对象识别它们是否相交,从而触发相应的...

    box2d碰撞检测教程

    Box2D是一款强大的开源物理引擎,常用于2D游戏开发,提供精确的物理模拟和碰撞检测。Cocos2D是一个流行的2D游戏开发框架,它支持多种编程语言,包括C++、Objective-C和Python等。将Box2D与Cocos2d结合使用,可以为...

    基于MATLAB的YOLOv2车辆目标检测实例(100%可用含中文注释)

    本教程聚焦于YOLOv2版本,它是YOLO系列的改进版,提高了目标检测的速度和精度。MATLAB作为一个强大的数学计算和可视化工具,也为深度学习提供了丰富的支持,使得开发者可以更方便地实现和应用YOLOv2模型。 首先,...

    使用 Keras 进行 YOLOv2 对象检测(仅需 20 行代码).zip

    使用 Keras 进行 YOLOv2 对象检测(仅需 20 行代码)使用 Keras 进行 YOLOv2 对象检测(仅需 20 行代码)此存储库介绍了使用 Keras 库和 Tensorflow 后端快速简单地实现 YOLOv2 对象检测。此实现基于YAD2K 库构建,...

    基于YOLO2和ResNet算法的监控视频中的人脸检测与识别

    YOLO2是YOLO算法的改进版本,它在YOLO的基础上对网络结构和训练过程进行了优化,使得检测速度更快,准确性更高。YOLO2使用448x448的图像作为输入,使用Darknet-19作为其骨干网络,在检测上具有很高的速度和准确率。 ...

Global site tag (gtag.js) - Google Analytics