标签‘ie8’

IE8及以下浏览器js中日期字符串格式化问题解决

最近一个小项目上涉及日期字符串格式化的问题,由于之前大部分工作中使用现有js框架自带的组件库,并没有注意此类兼容性问题,直到最近才发现,原来在IE8及以下IE版本中,JavaScript的Date函数是不支持new Date("2013-12-31")、new Date("2013-12-31 00:00:00")或者new Date("2013-12-31T00:00:00Z")这样的构造方式的。

网上关于字符串格式化的函数一般都雷同,如下

function dateFormat(dateString,format) {
            if(!dateString)return "";
            var time = new Date(dateString);
            var o = {
                "M+": time.getMonth() + 1, //月份
                "d+": time.getDate(), //日
                "h+": time.getHours(), //小时
                "m+": time.getMinutes(), //分
                "s+": time.getSeconds(), //秒
                "q+": Math.floor((time.getMonth() + 3) / 3), //季度
                "S": time.getMilliseconds() //毫秒
            };
            if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (time.getFullYear() + "").substr(4 - RegExp.$1.length));
            for (var k in o)
                if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
            return format;
        }

查看更多...

Raphael实现数据可视化优缺点

说起Raphael,可是老早就听说了,不过前些年和EXTJS合并后好像不怎么更新了,好在组件没什么bug,更新或不更新都阻拦不了我们兼容IE9以下浏览器的脚步。废话完毕,下面先简单介绍下我们的主角——Raphael

Raphael 是一个用于在网页中绘制矢量图形的 Javascript 库。它使用 SVG W3C 推荐标准和 VML 作为创建图形的基础,你可以通过 JavaScript 操作 DOM 来轻松创建出各种复杂的柱状图、饼图、曲线图等各种图表,还可以绘制任意形状的图形,可以进行图表或图像的裁剪和旋转等复杂操作。正因Raphael对VML的强力支持,使得在IE9以下版本,目前支持的浏览器包括: Firefox 3.0+,Safari 3.0+,Chrome 5.0+,Opera 9.5+ 以及 Internet Explorer 6.0+,实际测试中,甚至IE5都能够实现我们想要的图形、动画效果。

下面展示下Raphael的简介操作,假设页面有一div容器,id为chart,我们可以这样写:

var paper=new Raphael(document.getElementById("chart"),1000,500); 查看更多...