其他分享
首页 > 其他分享> > 轻量级前端路由 router directorjs兼容ie8

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

作者:互联网

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;
        };
    }

}())

标签:function,ie8,val,res,var,router,Array,轻量级
来源: https://blog.51cto.com/u_3423936/2769729