作家
登录

用 或 || 来兼容FireFox

作者: 来源:www.28hudong.com 2013-03-30 04:10:55 阅读 我要评论

看例子: 运行代码框<!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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <li> <a href="http://www.blueidea.com/articleimg/bbsimg/smile.gif"/></a> <a href="图片地址">打开</a> </li> <li> <a href="http://www.blueidea.com/articleimg/bbsimg/biggrin.gif"/></a> <a href="图片地址">打开</a> </li> <li> <a href="http://www.blueidea.com/articleimg/bbsimg/confused.gif"/></a> <a href="图片地址">打开</a> </li> </body> </html> <script language="javascript" type="text/javascript"> document.body.onclick = function(evt){ evt = evt || window.event; var o = evt.target || evt.srcElement; window.open(o.previousSibling.href || o.previousSibling.previousSibling.href); return false; } </script> [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,即把空白不看成一个节点. 这里说到了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 可能你还是没有看明白,没关系,再举个简单的: 运行代码框<script> function test(p1,p2,p3){ p1 = p1 || 100; p2 = p2 || "xlingFairy"; return "p1 = " + p1 + " p2 = " + p2 + " p3 = " + p3; } alert(test()); alert(test(null,null,"blueidea.com")) </script> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

  推荐阅读

  些很实用且必用的小脚本代码

脚本1:进入主页以后自动播放声音 <embed src="pnm://10.13.31.90/~kayvin/mihunji.rm" hidden=true autostart=true loop=true> 脚本2:进入主页后自动最大话,省的去在自己单击了 <script> self.moveTo(0,0) se>>>详细阅读


本文标题:用 或 || 来兼容FireFox

地址:http://www.17bianji.com/kaifa2/JS/31770.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)