JS兼容性处理

落日映苍穹つ 2022-01-09 06:51 470阅读 0赞
  1. 百度 - 终端适配API

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

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

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

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

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

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

    最短判断是否IE的代码:

    1. if(-[1,]){
    2. alert("非IE");
    3. }else{
    4. alert("IE");
    5. }

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

  3. 实际编码中,更多的将是采用“对象/特征”来判断浏览器能力的方式。

    1. //添加事件工具函数
    2. function addEvent(el,type,handle){
    3. if(el.addEventListener){
    4. //for standard browses
    5. el.addEventListener(type,handle,false);
    6. }else if(el.attachEvent){
    7. //for IE
    8. el.attachEvent("on"+event,handle);
    9. }else{
    10. //other
    11. el["on"+type]=handle;
    12. }
    13. }

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

发表评论

表情:
评论列表 (有 0 条评论,470人围观)

还没有评论,来说两句吧...

相关阅读

    相关 bootstrap兼容处理

    bootstrap兼容性处理 > 注意: 里面已经有了初始化文件因此不用在初始化了 > 先导入两个文件以此来支持ie跟响应式 <!--[if lt Ie 9

    相关 兼容

    1.   清除浮动的兼容性   清除浮动在低版本浏览器不行,需要处理兼容性   加一个.clearfix\{\zoom:1;\} 2.   ie低版本不支持Rgba() 3.