zoukankan      html  css  js  c++  java
  • 浏览器兼容性杂谈

    原文地址: 小昱博客 - 浏览器兼容性杂谈 转载请注明出处,谢谢!


    html5shiv.js让IE6-8浏览器支持HTML5新标签

    参考文章

    GitHub官方地址

    使用方法

    <!--[if IE]>
      <script src="html5shiv.js"></script>
    <![endif]-->
    

    Respond.js让IE6-8浏览器支持媒体查询

    参考文章

    Respond.js让IE6-8支持CSS3 Media Query

    GitHub官方地址

    使用方法

    1.在css中正常用 min/max-width media queries

    @media screen and (min- 480px){
      ...styles for 480px and up go here
    }
    

    2.引入respond.min.js,但要在css的后面(越早引入越好,在ie下面看到页面闪屏的概率就越低,因为最初css会先渲染出来,如果respond.js加载得很后面,这时重新根据media query解析出来的css会再改变一次页面的布局等,所以看起来有闪屏的现象)

    <!--[if IE]>
      <script src="respond.js"></script>
    <![endif]-->
    

    实现思路

    1.把head中所有的css路径取出来放入数组

    2.然后遍历数组一个个发ajax请求

    3.ajax回调后仅分析response中的media query的min-width和max-width语法,分析出viewport变化区间对应相应的css块

    4.页面初始化时和window.resize时,根据当前viewport使用相应的css块。

    总结

    优点:压缩后仅1k,不跨域时性能ok,只需引入respond.js通用易用

    缺点:仅支持media query的min-width和max-width(用于响应式够用);支持跨域,虽然配置有点麻烦,实现跨域代价高而且有闪屏体验欠佳。

    IE6~IE8中使用css3的选择器

    参考文档

    使用Selectivizr让IE6~8支持CSS3

    官方网站

    使用方法

    Selectivizr的使用非常的简单,但是并不能直接使用,在使用前需要先加载下列框架中的任何一个:JQuery、dojo、prototype、Yahoo YUI、DOMAssistant、mootools、NVMatcher。需要注意的是Selectivizr对各个框架的支持程度不一,具体可查看官方网站。 然后在页面里引用Selectivizr即可。

    <script type="text/javascript" src="[JS library]"></script>
    <!--[if lt IE 9]>
        <script type="text/javascript" src="selectivizr-min.js"></script>
    < ![endif]-->
    

    注意事项

    1. Selectivizr会自动检测最好的JS框架,如果你当前页面中正在使用如JQuery框架,但是它对Selectivizr的支持并不太好,你只需要在页面中再调用另一个(如Mootools)即可。
    2. CSS样式必须使用标签引入,还可以使用@import,但不能在页面里使用
  • 相关阅读:
    MicroPython的开发板
    python 安装mysql报错
    30个mysql千万级大数据SQL查询优化技巧详解
    PHP针对数字的加密解密类,可直接使用
    form表单公用
    生成随机邀请码
    Tp5自动验证
    protected和private的区别
    中国俗语大全
    更改Unity项目新建模板
  • 原文地址:https://www.cnblogs.com/xiaoyulive/p/6683590.html
Copyright © 2011-2022 走看看