zoukankan      html  css  js  c++  java
  • JS兼容性处理

    1. 百度 - 终端适配API

      适合服务器端使用。POST客户端传递的http头信息越多,得到的适配信息越准确。百度返回的数据为:

      正确情况:
      {
          device_type :/*1:手机2:pc*/
          os:/*操作系统*/
          os_version:/*操作系统版本*/
          browser:/*浏览器*/
          browser_version:/*浏览器版本*/
          model:/*机型*/
          vendor:/*厂商*/
          tn: /*wml|middle|touch|utouch|iphone*/
      }

      服务器端代码可根据返回的值,来进行自定义判断,该给客户端返回何种数据。
      为防止过度依赖百度判断,可本地缓存每次客户端请求头数据,和百度返回的值,建立一个KEY、VALUE表,则某种类型客户端只要请求一次百度,本地自己的服务器即可自己判断了。

    2. 一段巧妙判断IE浏览器版本的js代码

      只有一行代码,只针对IE起作用,而且考虑了IE用户自选渲染模式、怪癖模式、支持IE5、6、7、8、9及10。

      <html>
      <script>
      var isIE=false;
      /*@cc_on isIE=(document.documentMode||( document.compatMode == "CSS1Compat" ? "XMLHttpRequest" in window ? @_jscript_version*10-50 : 6 : 5)) @*/
      alert(isIE);//非IE弹出False,IE则弹出5到10版本值
      </script>
      </html>

      最短判断是否IE的代码:

      if(-[1,]){
      alert("非IE");
      }else{
      alert("IE");
      }

      经过测试:IE9、IE10弹出“非IE”。

    3. 实际编码中,更多的将是采用“对象/特征”来判断浏览器能力的方式
      //添加事件工具函数
      function addEvent(el,type,handle){
          if(el.addEventListener){//for standard browses
              el.addEventListener(type,handle,false);
          }else if(el.attachEvent){//for IE
              el.attachEvent("on"+event,handle);
          }else{//other
              el["on"+type]=handle;
          }
      }
    作者:Asion Tang
    凡是没有注明[转载]的文章,本Blog发表的文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    .net 调用命令行进行解压缩
    《jQuery实战》第1章 引荐JQuery
    将指定URL文件下载到指定服务器
    Oracle学习笔记
    Spring3 AOP的使用
    Field类使用以及getDeclaredFields方法
    spring 3的使用
    Json数据类型
    RotateAnimation详解
    GsonJava对象生成Json串
  • 原文地址:https://www.cnblogs.com/AsionTang/p/3330948.html
Copyright © 2011-2022 走看看