JS兼容性处理

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;
        }
    }

     

转载于:https://www.cnblogs.com/AsionTang/p/3330948.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100841.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Windows 0x80190001错误解决

    Windows 0x80190001错误解决解决 Windows0x 错误本人系统版本为 winwindows 出现这样的错误 初步判断为 windows 的网络连接问题引起的 一般这个错误会导致用户账户无法登陆 windows 商店无法显示内容 个人账户无法同步或验证等相关问题 下面我们来看看具体的修复方法 修复 1 使用 windows 的搜索功能 或直接使用快捷键 win s 输入 cmd 会出现命令行提示符 右键选择管理员身份运行

    2025年8月3日
    3
  • 关于正则表达式里含有空格的问题[通俗易懂]

    关于正则表达式里含有空格的问题[通俗易懂]关于正则表达式里含有空格的问题

    2022年7月3日
    51
  • linux怎么查看环境变量配置_配置完环境变量要重启吗

    linux怎么查看环境变量配置_配置完环境变量要重启吗1.查看当前系统定义的所有环境变量使用export命令可查看当前系统定义的所有环境变量2.输出单个环境变量的值echo$ENV可查看单个环境变量的值,如查看PATH环境变量的值其中PATH变量定义了运行命令的查找路径,以冒号:分割不同的路径。…

    2022年9月30日
    2
  • Java 中的 StringBuilder 类的常用方法

    Java 中的 StringBuilder 类的常用方法StringBuilder类提供了很多方法来操作字符串:例如:在下面的示例代码中,创建了StringBuilder对象,用来存储字符串,并对其做了追加和插入操作。这些操作修改了str对象的值,而没有创建新的对象,这就是StringBuilder和String最大的区别。运行结果: …

    2022年7月17日
    17
  • java 事务处理_java如何处理异常

    java 事务处理_java如何处理异常Java事务处理总结一、什么是Java事务通常的观念认为,事务仅与数据库相关。事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示当事务执行失败时,所有被该事务影响的数据都应该恢复…

    2022年10月9日
    2
  • IDEA2022.01.4 激活码【2022最新】

    (IDEA2022.01.4 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年4月1日
    164

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号