摘要:预加载自定义事件第三方扩展插件涉及的,除了,其它所有手机浏览器及浏览器均无法使用,目前主要包括语音输入事件相关注意浏览器没有事件事件相关的,手机端浏览器均可使用端模拟手机浏览器也可以正常使用。
最近项目中需要使用MUI做一个视频播放的小功能。我就花时间研究了一下MUI。
MUI是一个使用JavaScript开发Android和IOS应用的前端框架。这篇文章将以知识树的形式对MUI的使用做一个总结,一些官方文档中的东西我都只大致提一下,如果需要详细了解可以进入官方文档了解详情。
UI组件组件部分不多说,详情可以看官方文档。
小技巧:Dialog 组件正常情况下是无法解析HTML内容的,如果需要对Dialog 组件的内容进行定制可以将Dialog 的最后一个参数type设置为"div"。
MUI选择器MUI的选择器类似Jquery,主要有#id选择器、.class选择器 标签选择器,组合选择器。
mui("#id") mui(".class") mui("input") mui("p.class")
和Jquery一样,如果想从mui选择器选中的元素中取出原生的DOM元素,只需取出mui("#id")[0]即可。
MUI的常用方法MUI并没有像Jquery一样丰富的方法,常用的方法并不多。
事件相关的方法 MUI对象方法on(event, selector, handler) 批量绑定事件
one(event, selector, handler) 批量绑定事件但是只生效一次
off([event][, selector]) 删除事件
MUI静态方法trigger(element, event, data) 触发事件
fire(target, event, data) 触发自定义事件
原生事件监听方法addEventListener(event, handler) 单个DOM节点绑定事件
页面初始化设置。目前支持在mui.init方法中配置的功能包括:创建子页面、关闭页面、手势事件配置、预加载、下拉刷新、上拉加载、设置系统状态栏背景颜色。
打开新页面
关闭当前页面
其他工具方法此部分官方文档都写得非常详细,如果哪个方法不懂可以直接点击连接跳转至官方文档详细查看。
MUI对象方法遍历
MUI静态方法遍历
合并多个对象
setTimeOut封装
滚动窗口屏幕到指定位置,该方法是对window.scrollTo()方法在手机端的增强实现,可设定滚动动画时间及滚动结束后的回调函数;鉴于手机屏幕大小,该方法仅可实现屏幕纵向滚动。
我们经常会有通过navigator.userAgent判断当前运行环境的需求,mui对此进行了封装,通过调用mui.os.XXX即可
plus(可以访问的参数为:)
.plus:返回是否在 5+ App(包括流应用)运行
.stream:返回是否为流应用
Android(可以访问的参数为:)
.android:返回是否为安卓手机
.version:安卓版本号
.isBadAndroid:android非Chrome环境
iOS(可以访问的参数为:)
.ios:返回是否为苹果设备
.version:返回手机版本号
.iphone:返回是否为苹果手机
.ipad:返回是否为ipad
Wechat(可以访问的参数为:)
.wechat:返回是否在微信中运行
AJAX方法类似JQuery主要由ajax(options)、post(url,params,callback)、get(url,params,callback),详情可参考官方文档。
MUI插件方法示例1:跳转到图片轮播的第二张图片
mui(".mui-slider").slider().gotoItem(1);
示例2:重新开启上拉加载
mui("#pullup-container").pullRefresh().refresh(true);MUI适用场景说明
为解决HTML5在低端Android机上的性能缺陷,mui引入了原生加速,其中最关键的就是webview控件,因此mui若要发挥其全部能力,需和5+ App配合适用,若脱离5+ App,mui功能会受限,主要涉及三个部分:
webview窗口相关涉及webview的,除了5+App,其它所有手机浏览器及PC浏览器均无法使用,涉及功能点包括:
webview模式窗体动画
创建子窗口(除了为解决区域滚动的常见双webview场景,还涉及webview模式的选项卡等多webview场景)
webview模式的侧滑菜单(也有div方式侧滑菜单)
webview模式的tab选项卡(也有div方式选项卡)
nativeUI,如原生的警告框、确认框、popover、actionsheet、toast。这些也有HTML5的实现。
预加载
自定义事件
第三方扩展插件涉及webview的,除了5+App,其它所有手机浏览器及PC浏览器均无法使用,目前主要包括:语音输入;
Touch事件相关(注意pc浏览器没有touch事件)Touch事件相关的,手机端浏览器均可使用、pc端chrome模拟手机浏览器也可以正常使用。
但普通PC端浏览器因为没有touch事件,可以显示控件但滑动操作功能会受限;涉及功能点包括:
手势事件
mui封装的tap相关处理业务:折叠面板、二级列表、二级选项卡;
mui封装的swipe、drag相关处理业务:图片轮播、可左右滑动的图文表格、可左右滑动的9宫格、滑动触发列表项菜单、可拖动式侧滑菜单、下拉刷新和上拉加载、可拖动式选项卡
【备注】:在PC端,大家将tap替换成click,将HTML5默认的Drag事件替换mui 的swipe和drag,就可以解决如上两个问题。
除上述列出的功能点,其它mui功能,均可以在其它手机浏览器及PC服务端使用,所有CSS均不受影响。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/101176.html
摘要:是手机端关系型数据库的最佳方案,各种手机都支持。但是目前手机端重量数据存储的唯一可商用方案。是里最新的数据存储规范,但不是基于,而是基于对象。与的标准相比,的扩展主要是为了跨域。有网友封装了一个框架,针对数据,在超过时自动切换到,参考。 总结HTML5+的离线本地存储的多种方案: [ √ ] HTML5标准方案:cookie、localstorage、sessionstorage、w...
摘要:是手机端关系型数据库的最佳方案,各种手机都支持。但是目前手机端重量数据存储的唯一可商用方案。是里最新的数据存储规范,但不是基于,而是基于对象。与的标准相比,的扩展主要是为了跨域。有网友封装了一个框架,针对数据,在超过时自动切换到,参考。 总结HTML5+的离线本地存储的多种方案: [ √ ] HTML5标准方案:cookie、localstorage、sessionstorage、w...
阅读 1616·2021-11-22 13:53
阅读 2848·2021-11-15 18:10
阅读 2754·2021-09-23 11:21
阅读 2491·2019-08-30 15:55
阅读 474·2019-08-30 13:02
阅读 752·2019-08-29 17:22
阅读 1658·2019-08-29 13:56
阅读 3454·2019-08-29 11:31