javascript跨浏览器的属性判断方法

 这篇文章主要介绍了javascript跨浏览器的属性判断的方法,需要的朋友可以参考下

今天在写代码的时候发现一个很容易出错的地方。当我们在声明变量时,常常会因为不同的 browser 有不同的 API 定义,然后用以下的写法来判断哪一个属性,例如:
 
 代码如下:var fullscreenElement = document.mozFullScreenElement || document.webkitFullscreenElement || document.fullscreenElement;
用||来检查要用哪一个 attribute。
不过要小心 javascript 的值当成条件时的判断。
例如:
代码如下:var sLeft = window.screenLeft || window.screenX; //firefox use screenX
console.log(sLeft); 
这段代码希望 screenLeft 会回传 window.screenLeft ,而在 firefox 会回传 window.screenX。
但是如果 screenLeft 刚好等於 0 的时候,就会进入||之后的条件了,接著就 gg 了。
 
因此建议在值的判断还是正统一点用 hasOwnProperty 或 typeof 来判断会比较精準。
 
 代码如下:var sLeft = window.screenLeft;
if( !window.hasOwnProperty('screenLeft')) sLeft = window.screenX; 
 
 

时间: 2024-09-29 02:52:30

javascript跨浏览器的属性判断方法的相关文章

javascript跨浏览器的属性判断方法_javascript技巧

今天在写代码的时候发现一个很容易出错的地方.当我们在声明变量时,常常会因为不同的 browser 有不同的 API 定义,然后用以下的写法来判断哪一个属性,例如: 复制代码 代码如下: var fullscreenElement = document.mozFullScreenElement || document.webkitFullscreenElement || document.fullscreenElement; 用||来检查要用哪一个 attribute.不过要小心 javascri

JavaScript跨浏览器获取页面中相同class节点的方法

 这篇文章主要介绍了JavaScript跨浏览器获取页面中相同class节点的方法,本文讲解使用getELementsByClassName函数解决这个需求,并给了一个开源的getELementsByClassName函数实现,功能更加强大,需要的朋友可以参考下     网页开发时,在很多时候我们需要操作相同类名的元素,即class相同的元素.昨天参加笔试,有一道相关的题目没答上来: JavaScript获取页面中class为test的节点 于是收集了一些相关的资料,在本文中列举了两种我觉得比较

javascript 跨浏览器开发经验总结(五) js 事件_javascript技巧

简单事件模型和高级事件模型 简单事件模型和高级事件模型简单事件,就是事件与页面元素直观的绑定在一起的形式,如: 复制代码 代码如下: <div onclick="alert(this.innerHTML);"> element.onclick = function(){alert(this.innerHTML);} 只要不是用了个别浏览器独有的事件,一般的click,mouseover事件等在各浏览器中都可以这么使用. 但是当一个事件需要绑定多个监听,或者需要动态注册/移出

css与javascript跨浏览器兼容性总结_javascript技巧

本文以大量实例形式总结了css与javascript跨浏览器的兼容性问题.分享给大家供大家参考.具体总结如下: 一.CSS样式兼容性 1. FLOAT闭合(clearing float) 网页在某些浏览器上显示错位很多时候都是因为使用了float浮动而没有真正闭合,这也是div无法自适应高度的一个原因.如果父div没有设float而其子div却设了float的话,父div无法包住整个子DIV,这种情况一般出现在一个父DIV下包含多个子DIV.解决办法: 1) 给父DIV也设上float 2) 在

跨浏览器的设置innerHTML方法

浏览器 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <script type="text/javas

myEvent.js javascript跨浏览器事件框架_javascript技巧

event究竟有多么复杂?可见前辈的6年前的努力:最佳的addEvent是怎样诞生的,后起之秀jQuery也付出了一千六百多行血汗代码(v 1.5.1)搞定了6年后出现的各种核的浏览器. 我参考前辈的代码以及自己的理解尝试写了一个事件框架,我的框架完成了一个事件机制的核心,它能提供统一接口实现多事件绑定以及避免内存泄漏等其他一些问题,更重要的是性能还不错. 我的手法: 所有回调函数根据元素.事件类型.回调函数唯一ID缓存在一个_create对象中(其内部具体结构可见下面源码的关于_cache的注

Iframe实现跨浏览器自适应高度解决方法_jquery

本文以实例形式讲述了Iframe实现跨浏览器自适应高度解决方法,非常具有实用价值.分享给大家供大家参考之用.具体方法如下: 该方法使用了jQuery,因此需要在iframe的src页面里面引入jQuery. 父页面里面相对简单一点,主要包含以下代码: <iframe id="if1" scrolling="no" src="2.html"></iframe> 在iframe的src页面里面代码如下: <script

JavaScript阻止浏览器返回按钮的方法

 这篇文章主要介绍了JavaScript阻止浏览器返回按钮的方法,可实现通过javascript禁用掉返回按钮的功能,需要的朋友可以参考下     本文实例讲述了JavaScript阻止浏览器返回按钮的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码可以阻止用户点击返回按钮,非常实用,需要的朋友可以收藏一下. ? 1 2 3 4 5 6 7 <SCRIPT type="text/javascript"> window.history.forward(); func

JavaScript阻止浏览器返回按钮的方法_javascript技巧

本文实例讲述了JavaScript阻止浏览器返回按钮的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码可以阻止用户点击返回按钮,非常实用,需要的朋友可以收藏一下. <SCRIPT type="text/javascript"> window.history.forward(); function StopBack() { window.history.forward(); } </SCRIPT> </HEAD> <BODY onloa