用 或 || 来兼容FireFox

2016-02-19 12:52 4 1 收藏

今天图老师小编给大家精心推荐个用 或 || 来兼容FireFox教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

【 tulaoshi.com - Web开发 】

看例子:

运行代码框

 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

找到 document.body.onclick = function(evt),
在IE下,这个evt是不会有的,但是在fireFox下(opera下好像也是)会默认传这个参数.在IE下,这个参数是 null ,想兼容,就这样写.

继续向下:
evt = evt || window.event;
在IE下,evt 就会指向:window.event,在fireFox下,就会指向那个默认参数.
因为在IE下 evt || window.event 相当于: null || window.event,结果还是window.event
而在fireFox下,就相当于 evt || null ,结果就是evt

向下看:
o.previousSibling.href || o.previousSibling.previousSibling.href
前面一个表达式用于IE下,后面一个用于FireFox下.
FireFox下,没有preserveWhiteSpace这个属性,即:把空白也当作一个节点,而IE则默认为false,即把空白不看成一个节点.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

这里说到了XMLDom,似乎和上面所说的不相关,但是在FireFox下 previousSibling就是空白,除非两个HTML标签之间没有任何形式的空格.

a href="http://www.blueidea.com/articleimg/bbsimg/smile.gif"//a
a href="图片地址"打开/a
两个a之间有换行(属于空格的一种),所以在FireFox下,取下面一个a的前一个节点的话,就必须用:
o.previousSibling.previousSibling.href

可能你还是没有看明白,没关系,再举个简单的:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

运行代码框

 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

来源:http://www.tulaoshi.com/n/20160219/1602268.html

延伸阅读
标签: Web开发
在线编辑器在我们日常的项目开发中非常有用(如新闻系统),它可以方便地实现文章的在线编辑,省掉了FrontPage等工具。那么是怎样实现浏览器在线编辑功能的呢?  首先需要IE的支持,在IE5.5以后就有一个编辑状态. 就是利用这个编辑状态,然后用javascript来控制在线编辑的。       首先要有一个编辑...
标签: Web开发
有这样一段代码:if (RegExp.test(num))的结果,在IE中每次都为TRUE,而在Fire fox中若第一次为True,第二次必为False,后面交替出现。大概看了一下过往的解决办法: 方法一:把if (RegExp.test(num))改为if (num.match(RegExp)) 方法二:使用RegExp对象处理,也就是 new RegExp("^(-)?[0-9]*$") 也不知道都验证过没有,...
标签: Web开发
function addCookie() { // 加入收藏夹 if (document.all) { window.external.addFavorite('http://taotao.wsyren.com', '牛吧'); } else if (window.sidebar) { window.sideb...
标签: Web开发
1.DOCTYPE 影响 CSS 处理 2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中 4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width 5.FF: 支...
标签: Web开发
很早就在这里看到过解决方案,与嗷嗷讨论后发现这个方案还是很可靠的。当然,唯一的缺点就是每一个属性都要去Hack,但我在很多实践中,只用‘修正’1-2个属性就可以了。 具体写法很容易: #someNode {     position: fixed;    #position: fixed;    _position: fixed; } 第一排给Firefox以及其他浏览器...

经验教程

404

收藏

60
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部