|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
支持浏览器的向后兼容,也就是无论未来的浏览器大战,胜利的是IE7或者是火狐,您的网站都能很好的兼容。
JS:用或||来兼容FireFox运转代码框
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>UntitledDocument</title></head><body><li><ahref="http://www.blueidea.com/articleimg/bbsimg/smile.gif"/></a><ahref="图片地点">翻开</a></li><li><ahref="http://www.blueidea.com/articleimg/bbsimg/biggrin.gif"/></a><ahref="图片地点">翻开</a></li><li><ahref="http://www.blueidea.com/articleimg/bbsimg/confused.gif"/></a><ahref="图片地点">翻开</a></li></body></html><scriptlanguage="javascript"type="text/javascript">document.body.onclick=function(evt){evt=evt||window.event;varo=evt.target||evt.srcElement;window.open(o.previousSibling.href||o.previousSibling.previousSibling.href);returnfalse;}</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标签之间没有任何情势的空格.
<ahref="http://www.blueidea.com/articleimg/bbsimg/smile.gif"/></a>
<ahref="图片地点">翻开</a>
两个<a>之间有换行(属于空格的一种),以是在FireFox下,取上面一个<a>的前一个节点的话,就必需用:
o.previousSibling.previousSibling.href
大概你仍是没有看分明,不妨,再举个复杂的:
运转代码框
<script>functiontest(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全体选择提醒:你可先修正部分代码,再按运转]
好,点道为止,就讲这些!
</p>
更方便搜索引擎的搜索。用只包含结构化内容的HTML代替嵌套的标签,搜索引擎将更有效地搜索到你的内容,并可能给你一个较高的评价(ranking)。 |
|