实习问题小汇总

来源:互联网 发布:js写日历 编辑:程序博客网 时间:2024/05/24 01:40

  • 实习问题小总结
      • 浏览器兼容问题
    • css兼容
    • 然后是相关的js问题

实习问题小总结

浏览器兼容问题

css兼容

  • 主要针对低版本的IE
    使用IE的hack解决部分兼容问题
    background:red;/* FF */    background:blue\0;/* OP */    background:turquoise\9;/* IE8+ */     *background:green; /* IE7 */    _background:yellow;/* IE6 */
//只有IE会识别的前缀*html div.d03{    background:yellow;/* IE6 */}*+html div.d03{    background:green;/* IE7 */}

html hack

<!--[if lte IE 8]> <!-- IE条件注释--> <link src="iecss.css" rel="stylesheet" /> <![endif]--> 

对于IE的透明度效果并不能简单使用rgba(, , , 0.5)也不能用opacity,需要使用IE特有的滤镜
以下是随便找到的一篇关于filter的使用的介绍
这我还没仔细看,然后以下我我找到的关于透明度改变较好的相关代码

    /* IE 4-9 */    filter:alpha(opacity=50);    /*This works in IE 8 & 9 too*/    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";    /*IE4-IE9*/    filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  • css高级选择器兼容问题
    还是IE的问题,IE不支持项nth-child()这样的选择器,查了以下,是存在插件可以支持的——ie-css3.js,然而我只需要在一两个地方用到,同时元素数量是可控的,所以我只采取在需要的某些元素上添加新的class,然后css属性使用hack就好了

然后是相关的js问题

JSON.parse()/JSON.stringify()不可用
  发现低版本的IE不支持JSON对象下的方法,这里由于使用场景,这里的原来代码是后台经过json_encode处理过的,但主要问题不是这里,而是前端ajax调取数据时,使用的是jquery,但dataType没有设置,使用了默认的text,就需要经过JSON.parse(data)处理,但经过改用回dataType: 'json'问题就解决了,jquery帮助把json字符串转换为json对象了。
  jquery利用自定义的parseJSON()方法解析格式完好的json字符串,详细解析请看
  以上是环境特殊,如果真的需要调用这两个方法,可以看这个解决方案

0 0