mmRouter.js被作者称之为avalon的三柱臣之一( 路由,动画,AJAX)
首先解释一下什么是路由。网上解释了一堆也没看明白是什么意思,你可以把路由理解为我们平时上网使用的路由器,多台电脑上网其实也就是公用了一个路由器。
除了avalon.js的mmRouter.js网上还有很多插件或者框架也提供了路由功能,如director.js和angular.js也提供了路由功能,但是兼容性没mmRouter.js做的好。
经过测试mmRouter.js可以兼容IE7浏览器(IE6忽略)目前是兼容性最好的框架。
路由的效果
我们在构建网站后台架构时平时都用frame、frameset来实现,但是如果需要浏览器后退功能就会有问题,貌似不支持。
所以路由可以实现的效果是:
1,局部刷新
2,局部内容更新后,即使刷新也停留在当前页面,并且URL不变
3,在2的基础上,依然能使用浏览器前进和后退的功能
使用ajax依然能保留前进后退的功能可以参考下《为ajax添加前进后退功能–jquery.pjax.js》
mmRouter在线案例:https://sdeno.com/wp-content/uploads/2016/05/mmrouter/index.html
官方文档:https://github.com/RubyLouvre/mmRouter
http://ued.qunar.com/oniui/mmRouter/avalon.mmRouter.doc.html#!/
另外还有一个基于mmRouter.js开发的mmState.js,也就是mmRouter.js的加强版。