为了编写能兼容各种浏览器的 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;
}
}
分享到:
相关推荐
2. **使用第三方工具**:许多第三方应用管理软件如APKInspector、APK Editor等,可以提供图形化界面来查看APK的详细信息,包括版本号。这些工具通常会解析APK并以友好的方式展示其内容。 3. **编程方式检测**:如果...
在本文中,我们将深入探讨如何在Visual Studio 2013环境下,利用OpenCV 3.3.1库,结合预先训练的YOLO(You Only Look Once)模型,进行对象检测的C++代码调试。YOLO是一种实时目标检测系统,以其高效和准确性而闻名...
2) 解析返回的响应数据,提取出版本信息;3) 比较本地版本与服务器版本,判断是否需要更新;4) 如果需要更新,启动更新流程,可能是下载新的安装包或者直接在后台更新;5) 使用交互回调函数处理用户的交互行为,如...
要实现浏览内的快速对象检测,我们需要以下步骤: 1. **选择模型**:TensorFlow.js提供了多种预先训练好的对象检测模型,如SSD(Single Shot Detection)、YOLO(You Only Look Once)等。这些模型各有优缺点,比如...
2. **检测浏览器类型** 通过分析`userAgent`字符串,我们可以识别出浏览器的类型。例如,检测是否为IE,可以使用以下代码: ```javascript function isIE() { return /MSIE|Trident/.test(navigator.userAgent);...
检测对象检测项目检测标准[参照].pdf
1、资源内容:基于C#、ML.NET、ONNX实现YOLOv5对象检测(完整源码+说明文档+数据).rar 2、代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 3、适用对象:计算机,电子信息工程、数学等专业的...
Hough变换是一种在图像处理领域广泛应用的特征提取技术,特别是在对象检测中表现出了其独特的优势。ECCV2012上发表的文章《Latent Hough Transform for Object Detection》由来自ETH Zurich的计算机视觉实验室以及...
面向对象的变化检测是遥感影像分析领域的一种重要技术,它通过将遥感影像中的信息抽象成具有实际地理意义的“对象”来进行处理,而非仅仅对单个像素进行分析。多尺度分割融合技术在面向对象的变化检测中的应用,可以...
在"使用候选对象对齐的对象检测(2)"的主题中,我们聚焦于一种提高对象检测精度的技术——候选对象对齐。这种方法通常应用于深度学习模型,如Faster R-CNN、YOLO或Mask R-CNN等,通过精细化的对齐策略来优化模型的...
2. **构建网络结构**:在深度学习框架中定义关系网络的架构,包括基础的物体检测模型(如Faster R-CNN)和附加的关系模块。 3. **训练模型**:使用预处理的数据集训练模型,这可能涉及多GPU并行训练、学习率调度、...
这个技术由Joseph Redmon等人首次提出,并经历了多个版本的改进,包括YOLOv1、YOLOv2、YOLOv3以及YOLOv4等。本文将深入探讨YOLOv在视频对象检测中的具体应用和表现。 首先,YOLOv的核心理念是将目标检测问题转化为...
与在图像的多个区域应用检测的传统方法不同,YOLO 一次检测对象,这使其快速高效。YOLOv3 模型通过引入多尺度预测和更强大的主干网络(称为 Darknet-53)对早期版本进行了改进。 在本文中,我们将探讨如何使用 ...
Cocos2d是一个广泛使用的开源游戏框架,它提供了丰富的功能,包括场景管理、动画、物理模拟以及我们今天要讨论的碰撞检测。在Xcode5中开发Cocos2d项目,碰撞检测能够帮助游戏对象识别它们是否相交,从而触发相应的...
Box2D是一款强大的开源物理引擎,常用于2D游戏开发,提供精确的物理模拟和碰撞检测。Cocos2D是一个流行的2D游戏开发框架,它支持多种编程语言,包括C++、Objective-C和Python等。将Box2D与Cocos2d结合使用,可以为...
本教程聚焦于YOLOv2版本,它是YOLO系列的改进版,提高了目标检测的速度和精度。MATLAB作为一个强大的数学计算和可视化工具,也为深度学习提供了丰富的支持,使得开发者可以更方便地实现和应用YOLOv2模型。 首先,...
使用 Keras 进行 YOLOv2 对象检测(仅需 20 行代码)使用 Keras 进行 YOLOv2 对象检测(仅需 20 行代码)此存储库介绍了使用 Keras 库和 Tensorflow 后端快速简单地实现 YOLOv2 对象检测。此实现基于YAD2K 库构建,...
YOLO2是YOLO算法的改进版本,它在YOLO的基础上对网络结构和训练过程进行了优化,使得检测速度更快,准确性更高。YOLO2使用448x448的图像作为输入,使用Darknet-19作为其骨干网络,在检测上具有很高的速度和准确率。 ...