轻量级前端路由 router directorjs兼容ie8

250人浏览 / 0人评论

ie8兼容性,不多说了,很多前端都因他而苦恼。 想搞个spa单页应用,github搜起来,发下一个框架还不错。https://github.com/flatiron/director 简单易用。 但是个别方法不兼容ie8。针对进行修复:


/**
 * 修复director.js  不兼容ie8
 */
(function(){
    if (!Array.isArray) {
        Array.isArray = function(arg) {
            return Object.prototype.toString.call(arg) === '[object Array]';
        };
    }
//filter
    if (!Array.prototype.filter){
        Array.prototype.filter = function(fun){
            if (this === void 0 || this === null)
                throw new TypeError();

            var t = Object(this);
            var len = t.length >>> 0;
            if (typeof fun !== "function")
                throw new TypeError();

            var res = [];
            var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
            for (var i = 0; i < len; i++){
                if (i in t){
                    var val = t[i];
                    if (fun.call(thisArg, val, i, t))
                        res.push(val);
                }
            }
            return res;
        };
    }

}())

全部评论