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


Posted in Javascript onMarch 16, 2014

今天在写代码的时候发现一个很容易出错的地方。当我们在声明变量时,常常会因为不同的 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 来判断会比较精?省?BR>

var sLeft = window.screenLeft;
if( !window.hasOwnProperty('screenLeft')) sLeft = window.screenX;
Javascript 相关文章推荐
javascript常见用法总结
May 22 Javascript
分享10个原生JavaScript技巧
Apr 20 Javascript
js实现微信分享代码
Oct 11 Javascript
JavaScript核心语法总结(推荐)
Jun 02 Javascript
js实现上传图片预览方法
Oct 25 Javascript
JS搜狐面试题分析
Dec 16 Javascript
jquery dataview数据视图插件使用方法
Dec 23 Javascript
基于JavaScript实现飘落星星特效
Aug 10 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
Dec 06 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
Apr 03 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
Mar 03 Javascript
vue中移动端调取本地的复制的文本方式
Jul 18 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
Mar 16 #Javascript
Jquery 在页面加载后执行的几种方式
Mar 14 #Javascript
javascript中interval与setTimeOut的区别示例介绍
Mar 14 #Javascript
JavaScript表单通过正则表达式验证电话号码
Mar 14 #Javascript
JavaScript运行时库属性一览表
Mar 14 #Javascript
JavaScript中按位“异或”运算符使用介绍
Mar 14 #Javascript
使用jQuery实现的掷色子游戏动画效果
Mar 14 #Javascript
You might like
简单实用的网站PHP缓存类实例
2014/07/18 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
特殊情况下如何获取span里面的值
2014/05/20 Javascript
jquery图片切换插件
2015/03/16 Javascript
javascript父子页面通讯实例详解
2015/07/17 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
Python设计足球联赛赛程表程序的思路与简单实现示例
2016/06/28 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
python读写csv文件实例代码
2019/07/05 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
2019/10/17 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
NOTINO英国:在线购买美容和香水
2020/02/25 全球购物
JPA面试常见问题
2016/11/14 面试题
环境工程大学生自荐信
2013/10/21 职场文书
医科大学生毕业的自我评价分享
2013/11/12 职场文书
经理管理专业毕业自荐书范文
2014/02/12 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
大专生求职信
2014/06/29 职场文书
文明社区申报材料
2014/08/21 职场文书
2014年消防工作总结
2014/11/21 职场文书
2014-2015学年工作总结
2014/11/27 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
docker 制作mysql镜像并自动安装
2022/05/20 Servers
Django框架中表单的用法
2022/06/10 Python