JavaScript第五章:向后兼容

1.对象检测

    上一节中,我们一直强调,网页的访问者的可能使用了不支持JavaScrip的浏览器t或使用的是古老的浏览器。因此,JavaScript脚本可能在这些访问者的浏览器上不能正常工作。

   解决这个问题的方案中之一:检查浏览器对JavaScript的支持程度。

   对象检测:只要将某个方法打包在一个if语句,就可以根据这个if语句的条件表达式的求值结果决定采取怎样的行动。

                         注意的是,使用对象检测时,一定要删除方法名后面的圆括号,否则就是在测试方法的结果。

   function myFucntion(){
         if(docuement.getElementById){
            statements using getElementById;
          }
        }
  
   //这个方法的不足之处在于,这样编写的函数会多一对花括号。

 

   //把测试条件改为 “如果你不理解这个方法,请离开”
   window.onload=function(){
         if(!document.getElementsByTagName) return false;
         var links=document.getElementsByTagName("a");
         for(var i=0;i<links.length;i++){
             if(links[i].getAttribute("class")=="popup"){
                   links[i].onclick=function(){
                        popUp(this.getAttribute("href");
                        return false;
                      }
                 }
          }
    }

2.浏览器嗅探技术

     测试要使用的属性或方法是否存在的方法还有浏览器的嗅探。

     浏览器嗅探:通过提取浏览器供应商提供的信息来解决向后兼容问题。

     浏览器有一下不足之处,所以还是一种风险较大的技术:

           ①浏览器会“撒谎”

           ②浏览器嗅探脚本会变得越来越复杂

           ③许多浏览器嗅探脚本在进行测试时要求浏览器的版本号必须得到精确的匹配。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值