router

1 min read Original article ↗
router = {};
router.hashchange = {
"requstables": [],
'add': function (regex, requstable) {
router.hashchange.requstables.push({'regex': regex, 'requstable': requstable});
},
'handler': function () {
for (var i = 0; i < router.hashchange.requstables.length; i++) {
var r = router.hashchange.requstables[i];
var m = location.hash.match(r['regex']);
if (m) {
for (var ut = 0; ut < router.active_url_type.length; ut++) {
r['requstable'](m);
}
}
}
},
'init': function () {
router.active_url_type = [0, 2];
$(window).hashchange(router.hashchange.handler);
}
};
// init
router.hashchange.init();
$(window).hashchange();
router.hashchange.add(/^$/, function(){});