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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • iframe自适应高度_jquery取iframe文本

    iframe自适应高度_jquery取iframe文本超级简单的方法,也不用写什么判断浏览器高度、宽度啥的。下面的两种方法自选其一就行了。一个是放在和iframe同页面的,一个是放在test.html页面的。注意别放错地方了哦。iframe代码

    2022年10月12日
    2
  • 成功的测试通常是运行测试用例后_成功的测试是指运行测试用例后

    成功的测试通常是运行测试用例后_成功的测试是指运行测试用例后前言用过pytest的小伙伴都知道,pytest的运行方式是非常丰富的,可以说是你想怎么运行怎么运行,想运行哪些运行哪些,那httprunner是否同样可以呢?运行用例的各种方式运行指定路径的用

    2022年7月28日
    8
  • JAVA-FileInputStream之read方法「建议收藏」

    JAVA-FileInputStream之read方法「建议收藏」关于FileInputStream    它用于读取本地文件中的字节数据,继承自InputStream类,由于所有的文件都是以字节为向导,因此它适用于操作于任何形式的文件。     关于其最重要的两个方法Read()和Read(byteb)怎么使用呢?首先我们来查看API文档:  read()API文档:publicintread()th

    2022年6月6日
    37
  • Cefsharp_ceph nfs

    Cefsharp_ceph nfs文章目录0.简介1.安装2.H.264支持3.加载本地HTML文件4.多个窗口显示浏览器0.简介CefSharp,简单来说就是一款.Net编写的浏览器包,方便你在Winform和WPF中内嵌的Chrome浏览器组件。它支持HTML5。CefSharp的功能比较复杂,以下只介绍一些我觉得比较重要的并且目前经常用的功能,此“挑食”之意也。1.安装CefSharp的安装过程如下:打开VisualStduio,新建一个Windows窗体应用(.NETFramework);在“工具”

    2022年9月19日
    2
  • mysql登录出现1045错误修改方法[通俗易懂]

    mysql登录出现1045错误修改方法[通俗易懂]在cmd中输入mysql-uroot-p出现1045错误如下:ERROR1045(28000):Accessdeniedforuser’root’@’localhost'(usingpassword)解决方法:1.先找到mysqlbin目录下的my.ini文件,在[mysql]下面加上skip-grant-tables用于跳过密码2.重启服务器net

    2022年6月11日
    52
  • hook技术截取服务器信息,Windows Hook技术

    hook技术截取服务器信息,Windows Hook技术0x01简介有人称它为“钩子”,有人称它为“挂钩”技术。谈到钩子,很容易让人联想到在钓东西,比如鱼钩就用于钓鱼。编程技术的钩子也是在等待捕获系统中的某个消息或者动作。钩子的应用范围非常广泛,比如输入监控、API拦截、消息捕获、改变程序执行流程等方面。杀毒软件会用Hook技术钩住一些API函数,比如钩住注册表读写函数,从而防止病毒对注册表进行写入;病毒使用Hook技术有针对性的捕获键盘的输入,从而…

    2022年5月9日
    80

发表回复

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

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