FAQ

MSUI 常见问题

离线文件、本地开发环境

如果只是为了使用sui-mobile,请直接使用我们的cdn资源,也可以将CDN的链接保存到本地。如果是为了本地开发,可以参考Github develop.md,执行后,js、css等离线文件就在项目根目录的dist文件夹里。

路由(Router)

切换到的新页面中的 js 不执行

由于浏览器安全性考虑的限制以及可能的 js 重复执行或覆盖的问题,目前是不支持运行 ajax 载入的页面里面的 js 的,参考 #120

解决方法:所有页面都引用相同的 js,而这个 js 里面包含了所有的逻辑,事件部分使用委托来绑定。

工具栏

工具栏本身只是UI,并没有脚本逻辑。另外我们在工具栏 设计的初衷是:不同工具栏的icon链接通常代表形态完全不同的业务模块、范畴, 不要做成一个SPA应用 。
就是说,假如你工具栏有3个入口,那么这3个工具icon对应的链接最好是.external的。也就是刷新页面进入新url的形式,而不是以路由单页的形式滑页进入。可以说这3个icon对应了3个SPA链路的入口。Issue130

iconfont 图标

SUI-Mobile内置的iconfont图标并不多,毕竟千人千面,建议大家在官方iconfont定制网站按需选择、生成自己的iconfont库,那里会帮我们生成iconfont文件和对应css的在线地址,我们只要在应用里引入那一个css即可。详见文档. 如果font-family冲突了,修改一下产品定制iconfont的font-family即可。

触摸点击处理

Zepto自带的tap模块因为有点透等问题,我们借鉴了更有效的fastclick。需要绑定触摸事件时,直接绑定click即可

另外fastclick本身也有些问题,而且该项目已有一年没更新了,所以sui-mobile内置的fastclick是经过修改、优化和bugfix的。可以放心使用。

前端模板引擎

原来有内置模板引擎,不过因为众口难调,前端模板引擎从核心库里删去了,大家可以根据自己喜好在产品里自行引用、使用。