摘要:預(yù)加載自定義事件第三方擴展插件涉及的,除了,其它所有手機瀏覽器及瀏覽器均無法使用,目前主要包括語音輸入事件相關(guān)注意瀏覽器沒有事件事件相關(guān)的,手機端瀏覽器均可使用端模擬手機瀏覽器也可以正常使用。
最近項目中需要使用MUI做一個視頻播放的小功能。我就花時間研究了一下MUI。
MUI是一個使用JavaScript開發(fā)Android和IOS應(yīng)用的前端框架。這篇文章將以知識樹的形式對MUI的使用做一個總結(jié),一些官方文檔中的東西我都只大致提一下,如果需要詳細(xì)了解可以進(jìn)入官方文檔了解詳情。
UI組件組件部分不多說,詳情可以看官方文檔。
小技巧:Dialog 組件正常情況下是無法解析HTML內(nèi)容的,如果需要對Dialog 組件的內(nèi)容進(jìn)行定制可以將Dialog 的最后一個參數(shù)type設(shè)置為"div"。
MUI選擇器MUI的選擇器類似Jquery,主要有#id選擇器、.class選擇器 標(biāo)簽選擇器,組合選擇器。
mui("#id") mui(".class") mui("input") mui("p.class")
和Jquery一樣,如果想從mui選擇器選中的元素中取出原生的DOM元素,只需取出mui("#id")[0]即可。
MUI的常用方法MUI并沒有像Jquery一樣豐富的方法,常用的方法并不多。
事件相關(guān)的方法 MUI對象方法on(event, selector, handler) 批量綁定事件
one(event, selector, handler) 批量綁定事件但是只生效一次
off([event][, selector]) 刪除事件
MUI靜態(tài)方法trigger(element, event, data) 觸發(fā)事件
fire(target, event, data) 觸發(fā)自定義事件
原生事件監(jiān)聽方法addEventListener(event, handler) 單個DOM節(jié)點綁定事件
頁面初始化設(shè)置。目前支持在mui.init方法中配置的功能包括:創(chuàng)建子頁面、關(guān)閉頁面、手勢事件配置、預(yù)加載、下拉刷新、上拉加載、設(shè)置系統(tǒng)狀態(tài)欄背景顏色。
打開新頁面
關(guān)閉當(dāng)前頁面
其他工具方法此部分官方文檔都寫得非常詳細(xì),如果哪個方法不懂可以直接點擊連接跳轉(zhuǎn)至官方文檔詳細(xì)查看。
MUI對象方法遍歷
MUI靜態(tài)方法遍歷
合并多個對象
setTimeOut封裝
滾動窗口屏幕到指定位置,該方法是對window.scrollTo()方法在手機端的增強實現(xiàn),可設(shè)定滾動動畫時間及滾動結(jié)束后的回調(diào)函數(shù);鑒于手機屏幕大小,該方法僅可實現(xiàn)屏幕縱向滾動。
我們經(jīng)常會有通過navigator.userAgent判斷當(dāng)前運行環(huán)境的需求,mui對此進(jìn)行了封裝,通過調(diào)用mui.os.XXX即可
plus(可以訪問的參數(shù)為:)
.plus:返回是否在 5+ App(包括流應(yīng)用)運行
.stream:返回是否為流應(yīng)用
Android(可以訪問的參數(shù)為:)
.android:返回是否為安卓手機
.version:安卓版本號
.isBadAndroid:android非Chrome環(huán)境
iOS(可以訪問的參數(shù)為:)
.ios:返回是否為蘋果設(shè)備
.version:返回手機版本號
.iphone:返回是否為蘋果手機
.ipad:返回是否為ipad
Wechat(可以訪問的參數(shù)為:)
.wechat:返回是否在微信中運行
AJAX方法類似JQuery主要由ajax(options)、post(url,params,callback)、get(url,params,callback),詳情可參考官方文檔。
MUI插件方法示例1:跳轉(zhuǎn)到圖片輪播的第二張圖片
mui(".mui-slider").slider().gotoItem(1);
示例2:重新開啟上拉加載
mui("#pullup-container").pullRefresh().refresh(true);MUI適用場景說明
為解決HTML5在低端Android機上的性能缺陷,mui引入了原生加速,其中最關(guān)鍵的就是webview控件,因此mui若要發(fā)揮其全部能力,需和5+ App配合適用,若脫離5+ App,mui功能會受限,主要涉及三個部分:
webview窗口相關(guān)涉及webview的,除了5+App,其它所有手機瀏覽器及PC瀏覽器均無法使用,涉及功能點包括:
webview模式窗體動畫
創(chuàng)建子窗口(除了為解決區(qū)域滾動的常見雙webview場景,還涉及webview模式的選項卡等多webview場景)
webview模式的側(cè)滑菜單(也有div方式側(cè)滑菜單)
webview模式的tab選項卡(也有div方式選項卡)
nativeUI,如原生的警告框、確認(rèn)框、popover、actionsheet、toast。這些也有HTML5的實現(xiàn)。
預(yù)加載
自定義事件
第三方擴展插件涉及webview的,除了5+App,其它所有手機瀏覽器及PC瀏覽器均無法使用,目前主要包括:語音輸入;
Touch事件相關(guān)(注意pc瀏覽器沒有touch事件)Touch事件相關(guān)的,手機端瀏覽器均可使用、pc端chrome模擬手機瀏覽器也可以正常使用。
但普通PC端瀏覽器因為沒有touch事件,可以顯示控件但滑動操作功能會受限;涉及功能點包括:
手勢事件
mui封裝的tap相關(guān)處理業(yè)務(wù):折疊面板、二級列表、二級選項卡;
mui封裝的swipe、drag相關(guān)處理業(yè)務(wù):圖片輪播、可左右滑動的圖文表格、可左右滑動的9宮格、滑動觸發(fā)列表項菜單、可拖動式側(cè)滑菜單、下拉刷新和上拉加載、可拖動式選項卡
【備注】:在PC端,大家將tap替換成click,將HTML5默認(rèn)的Drag事件替換mui 的swipe和drag,就可以解決如上兩個問題。
除上述列出的功能點,其它mui功能,均可以在其它手機瀏覽器及PC服務(wù)端使用,所有CSS均不受影響。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/101176.html
摘要:是手機端關(guān)系型數(shù)據(jù)庫的最佳方案,各種手機都支持。但是目前手機端重量數(shù)據(jù)存儲的唯一可商用方案。是里最新的數(shù)據(jù)存儲規(guī)范,但不是基于,而是基于對象。與的標(biāo)準(zhǔn)相比,的擴展主要是為了跨域。有網(wǎng)友封裝了一個框架,針對數(shù)據(jù),在超過時自動切換到,參考。 總結(jié)HTML5+的離線本地存儲的多種方案: [ √ ] HTML5標(biāo)準(zhǔn)方案:cookie、localstorage、sessionstorage、w...
摘要:是手機端關(guān)系型數(shù)據(jù)庫的最佳方案,各種手機都支持。但是目前手機端重量數(shù)據(jù)存儲的唯一可商用方案。是里最新的數(shù)據(jù)存儲規(guī)范,但不是基于,而是基于對象。與的標(biāo)準(zhǔn)相比,的擴展主要是為了跨域。有網(wǎng)友封裝了一個框架,針對數(shù)據(jù),在超過時自動切換到,參考。 總結(jié)HTML5+的離線本地存儲的多種方案: [ √ ] HTML5標(biāo)準(zhǔn)方案:cookie、localstorage、sessionstorage、w...
閱讀 1628·2021-11-22 13:53
閱讀 2868·2021-11-15 18:10
閱讀 2768·2021-09-23 11:21
閱讀 2515·2019-08-30 15:55
閱讀 486·2019-08-30 13:02
閱讀 765·2019-08-29 17:22
閱讀 1709·2019-08-29 13:56
閱讀 3462·2019-08-29 11:31