窗口對象。窗口對象是實現多窗口機制的基本單元。使用窗口對象構建Hybrid App,在性能方面更加接近Native App的體驗。
AppCan平臺中,維護了一個窗口堆棧,每個窗口以唯一的窗口名字來區(qū)別。窗口名字是 通過uexWindow.open來賦值的。然而有一個窗口是比較特殊的,即加載起始頁的窗口,因為起始頁是由 config.xml中配置的,無法進行窗口名的賦值,因此,AppCan對加載起始頁的窗口統一命名為’root’,也就是說 ,其它通過uexWindow.open開啟的窗口,不能再命名為’root’。
窗口加載完畢后平臺將觸發(fā)此方法。類比window.onload方法,都是html頁面加載完成 之后觸發(fā)的方法。區(qū)別是,window.uexOnload方法會晚于window.onload方法,原因是window.uexOnload需要等 待AppCan擴展對象,即’uex’前綴的對象初始化完畢。事件加載完成之后,可以安全的使用uex擴展對象。
主窗口之上可以有多個浮動窗口,即浮動窗口是附屬于某個主窗口的。主窗口關閉后, 其上所有浮動窗口也都會關閉。所有的窗口都有唯一的名字,通過uexWindow.open打開的是一個主窗口,浮動窗口則通過主窗口uexWindow.openPopover創(chuàng)建( 浮動窗口不可創(chuàng)建“openPopover”浮動窗口)。一個主窗口上的多個浮動窗口名字是唯一的,但不同主窗口上的浮動窗 口名字可以相同。浮動窗口可以有彈動效果,可以有數學變化:放大,旋轉,移動等。浮動窗口能夠解決的事情 很多,比如解決手機瀏覽器不支持局部DIV滾動, 上下拉刷新特效,抽屜特效等問題。
窗口之間的通訊,比如從網絡獲取一個數據,根據返回的數據,讓其它窗口執(zhí)行相應的 變化,這就需要用到窗口間通訊機制。
主窗口之間通訊: uexWindow.evaluateScript(winName, type, script)
主窗口與浮動窗口之間通訊: uexWindow.evaluateScript(winName, type, script); uexWindow.evaluatePopoverScript(winName, type, script);
最后一個參數script,是目標窗口的執(zhí)行腳本。腳本形參限定為數字和字符串。如果是 特殊字符和漢字,則無法傳遞,可以通過window.localStorage暫存數據,在執(zhí)行腳本的目標窗口中獲取 localStorage。
調用接口subscribeChannelNotification訂閱一個頻道,注冊監(jiān)聽函數。 在任何窗口(包括主窗口,浮動窗口,多頁面浮動窗口)調用publishChannelNotification接口發(fā)布消息,對應頻道的所有訂閱者,將收到消息,回調函數將被調用,并傳入相應的參數.
調用setSlidingWindow接口實現側邊欄菜單效果。手勢滑動實現側邊欄菜單的打開和關閉功能。相關接口:setSlidingWindowEnabled,toggleSlidingWindow
open 打開窗口
uexWindow.open(windName,dataType,data,animID,w,h,flag,animDuration,extras)
說明:
打開一個新窗口,如果窗口名字相同,則會覆蓋相同窗口名字的頁面內容。
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
windName | String | 是 | 窗口名字,可為空,不能為”root”,若已經打開過該名字的窗口,則直接跳轉至該窗口。 |
dataType | Number | 是 | 窗口載入的數據的類型,0:url方式載入;1:html內容方式載入 |
data | String | 是 | url或html數據,支持“wgtroot://” 協議頭,此協議頭用于某些將項目部署在服務器上 的appcan應用,在應用執(zhí)行過程中加載本地網頁用。當dataType為0時,url支持相對路徑、 絕對路徑。其中,當url以“wgtroot://” 協議開頭時,支持從服務器網頁中打開本地應用沙箱中相應widget目錄下的網頁文件。 例如:當前窗口加載的是服務器上的http://www.xxx.com/xxx.html 網頁,如果在xxx.html頁面中open一個窗口時,傳入的data為“wgtroot://index.html”, 那么本次open執(zhí)行時,引擎將會到本應用沙箱目錄的widget路徑下去尋找此頁面, 例如Android上找到的路徑會是:file:///android_assert/widget/index.html 當dataType為1時,把相應html的內容傳進去(不建議) |
animationID | Number | 是 | 動畫ID,詳見術語表-WindowAnimationId 窗口動畫Id |
w | Number | 是 | 窗口寬度,請傳0 |
h | Number | 是 | 窗口高度,請傳0 |
flag | Number | 是 | 窗口標記,默認傳空為0,詳見CONSTANT中其他標記的窗口屬性WindowFlags |
animDuration | Number | 否 | 動畫持續(xù)時長,單位為毫秒,默認為260毫秒 |
extras | String | 否 | 擴展參數,設置值時,animDuration參數必傳,json格式如下 |
var extras = {
extraInfo:{//網頁配置
opaque:,//Boolean 可選 頁面是否透明,默認false
bgColor:,//String 可選 支持圖片和顏色,格式為 #fff、#ffffff、rgba(r,g,b,a)等,圖片路徑支持 res:// wgt:// 等AppCan協議路徑
hardware: //是否開啟硬件加速,0:否,1:開啟(僅Android)
},
animationInfo:{//動畫配置,僅iOS且animationID選擇bounce類的動畫時有效
bounciness:,//Number,可選,模擬彈性大小系數,傳0-1之間的double值,越大表示彈性越快
speed:,//Number,可選,模擬震蕩速度系數,傳0-1之間的double值,越大表示速度越快
}
}
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.open('dd', '0', 'index.html', 1, '', '', 0, 500);
openPresentWindow 打開一個位于最上層的window
uexWindow.openPresentWindow(windName,dataType,data,animID,w,h,flag,animDuration,extras)
說明:
該接口打開一個位于最上層的window??梢杂糜?code style="box-sizing: border-box; font-family: Consolas, Monaco, courier, monospace; padding: 3px; margin-right: 0px; font-size: 14px; color: rgb(199, 37, 78); background-color: rgb(246, 246, 246); border: 1px solid rgb(221, 221, 221);">uexWindow.open()使用flag值為1024時,需要關閉底層的某個window,而該window不關閉。如:開啟側滑關閉后A打開B,B打開C,在C頁面需要關閉B,但是C不關閉。這個時候可以在B中調用uexWindow.openPresentWindow
打開C。
參數:
與uexWindow.open()
一致
平臺支持:
Android2.2+
iOS 6.0+
版本支持:
3.3.1+
示例:
uexWindow.openPresentWindow('dd', '0', 'index.html', 1, '', '', 0, 500);
close 關閉窗口
uexWindow.close(animID,animDuration)
說明:
關閉當前窗口,若為浮動窗口直接關閉,若為主窗口,則同時會關閉在其上打開的所有浮動窗口
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
animID | Number | 否 | 為空時無動畫,-1時代表Open時指定動畫的方向動畫 |
animDuration | Number | 否 | 動畫持續(xù)時長,單位為毫秒,默認為260毫秒 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.close(-1, 1000);
forward 前進到下一個頁面
uexWindow.forward()
說明:
僅在主窗口起作用,針對通過a標簽跳轉的網頁,支持加密網頁。
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
back 返回上一個頁面
uexWindow.back()
說明:
支持加密網頁的back,僅在主窗口起作用。在手機的webkit中,存在一個Bug,當A.html跳轉到B.html,B.html跳轉到C.html,那么,用自帶的history.back(),從C返回到B,B再返回的話,會返回到C,即陷入死循環(huán)。
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
pageForward 前進到下一個頁面
uexWindow.pageForward()
說明:
不支持含加密網頁的forward,支持在主窗口和浮動窗口中調用
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
pageBack 返回上一個頁面
uexWindow.pageBack()
說明:
不支持含加密網頁的back,支持在主窗口和浮動窗口中調用。
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
windowForward 前進到下一個窗口
uexWindow.windowForward(animID,animDuration)
說明:
在多窗口機制中,前進到下一個window。
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
animID | Number | 否 | 動畫ID,詳見CONSTANT中WindowAnimiID |
animDuration | Number | 否 | 動畫持續(xù)時長,單位為毫秒,默認為260毫秒 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
windowBack 返回到上一個窗口
uexWindow.windowBack(inAnimitionID,inAnimDuration)
說明:
在多窗口機制中,用于返回上一個window,比如在Awindow中uexWindow.open了Bwindow,那么在Bwindow中返回Awindow就可使用此方法。
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
inAnimitionID | Number | 否 | 動畫ID |
inAnimDuration | Number | 否 | 動畫持續(xù)時長,單位為毫秒,默認250毫秒 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
setWindowFrame 移動當前窗口位置
uexWindow.setWindowFrame(x,y,animDuration)
說明:
移動當前Window相對屏幕的位置
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
x | Number | 是 | x坐標 |
y | Number | 是 | y坐標 |
animDuration | Number | 否 | 動畫持續(xù)時長,單位為毫秒,默認為260毫秒 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setWindowFrame(200,200,1000)
openSlibing 打開一個兄弟窗口
uexWindow.openSlibing(type,dataType,url,data,w,h)
說明:
打開一個兄弟窗口
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
type | Number | 是 | 窗口的類型,1-頭部;2-底部 |
dataType | (String | 是 | 窗口載入的數據的類型,0:url方式載入;1:html內容方式載入; 2:既有url方式,又有html內容方式 |
url | Number | 是 | 窗口路徑 |
data | String | 是 | 數據,可為空 |
w | Number | 是 | 該參數無效,實際寬度為屏幕寬度,請傳”” |
h | Number | 是 | 窗口高度,支持百分數,默認為屏幕高度 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.openSlibing(1, "0", "nav.html", "", "", 75);
closeSlibing 關閉一個兄弟窗口
uexWindow.closeSlibing(type)
說明:
關閉一個兄弟窗口
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
type | Number | 是 | 窗口的類型,1-頭部;2-底部 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.closeSlibing(2);
showSlibing 顯示兄弟窗口
uexWindow.showSlibing(type)
說明:
顯示open過的兄弟窗口
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
type | Number | 是 | 窗口的類型,1-頭部;2-底部 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.showSlibing(1)
evaluateScript 執(zhí)行js腳本
uexWindow.evaluateScript(windName,type,js)
說明:
執(zhí)行js腳本
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
windName | String | 是 | 窗口名稱,默認空為當前窗口(可以是主窗口、root窗口、浮動窗口) |
type | Number | 是 | 窗口的類型,uex.cWindowTypeNormal,uex.cWindowTypeTop 或uex.cWindowTypeBottom,詳見CONSTANT中WindowTypes |
js | String | 是 | js腳本內容 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.evaluateScript("", 0, "alert('執(zhí)行去吧??!');");
evaluatePopoverScript 在浮動窗口中執(zhí)行js腳本
uexWindow.evaluatePopoverScript(windName,popName,js)
說明:
在浮動窗口中執(zhí)行js腳本
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
windName | String | 是 | 窗口名稱,默認空為當前窗口(只能為主窗口、root窗口) |
popName | String | 是 | 浮動窗口名稱 |
js | String | 是 | js腳本內容 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.evaluatePopoverScript("", "sss", "alert('執(zhí)行去吧??!');");
evaluateMultiPopoverScript 在多頁面浮動窗口中執(zhí)行js腳本
uexWindow.evaluateMultiPopoverScript(windName,popName,inPageName,js)
說明:
在多頁面浮動窗口中執(zhí)行js腳本
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
windName | String | 是 | 窗口名稱,默認為當前窗口 |
popName | String | 是 | 浮動窗口名稱 |
inPageName | String | 是 | 單頁面窗口的名字 |
js | String | 是 | js腳本內容 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.evaluateMultiPopoverScript("", "multipop", "pop2", "alert('multipop')");
openPopover 打開浮動窗口
uexWindow.openPopover(popName,dataType,url,data,x,y,w,h,fontSize,flag,bottomMargin,extraInfo)
說明:
打開浮動窗口,如果浮動窗口名字相同,則會覆蓋相同浮動窗口名字的頁面內容。浮動窗口可通過主窗口openPopover創(chuàng)建,浮動窗口不可創(chuàng)建“openPopover”浮動窗口。
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
popName | String | 是 | 名稱 |
dataType | Number | 是 | 窗口載入的數據的類型,0:url方式載入;1:html內容方式載入;2:既有url方式, 又有html內容方式 |
url | String | 是 | url類型數據,支持“wgtroot://” 協議頭,此協議頭用于某些將項目部署在服務器上的appcan應用,在應用執(zhí)行過程中 加載本地網頁用。當dataType為0時,url支持相對路徑、絕對路徑。其中,當url以“wgtroot://” 協議開頭時,支持從服務器網頁中打開本地應用沙箱中相應widget目錄下的網頁文件。 例如:當前窗口加載的是服務器上的http://www.xxx.com/xxx.html 網頁,如果在xxx.html頁面中open一個窗口時,傳入的data為“wgtroot://index.html” , 那么本次open執(zhí)行時,引擎將會到本應用沙箱目錄的widget路徑下去尋找此頁面, 例如Android上找到的路徑會是:file:///android_assert/widget/index.html 。 |
data | String | 是 | data類型數據,用于當dataType為1時,把相應html的內容傳進去。必如傳入的是一個<div>hello,world!</div> |
x | Number | 是 | x坐標 |
y | Number | 是 | y坐標 |
w | Number | 是 | 寬度,為空時默認為window的寬度 |
h | Number | 是 | 高度,為空時默認為window的高度 |
fontSize | Number | 是 | 字體大小 |
flag | Number | 是 | 浮動窗口標記,詳見CONSTANT中WindowFlags |
bottomMargin | Number | 否 | 浮動窗口相對父窗口底部的距離。當值不等于0時,h參數無效。 |
extraInfo | String | 否 | 設置值時,bottomMargin參數必傳,json格式如下: {“extraInfo”:{“opaque”:”true”,”bgColor”:”#011”,”delayTime”:”250”}} |
關于extraInfo
中字段的說明如下:
字段 | 是否必須 | 說明 |
---|---|---|
extraInfo | 必選 | extraInfo參數 |
opaque | 可選 | 是否透明true/false默認為false |
bgColor | 可選 | 背景色,支持圖片和顏色,格式為#fff、#ffffff、rgba(r,g,b,a)等,圖片路徑支持res://、 wgt://等AppCan協議路徑 |
delayTime | 可選 | 延遲打開窗口,單位為毫秒,避免父窗口在uexOnload中打開浮動窗口產生卡頓。 設置值時,bottomMargin參數必傳 |
hardware | 可選 | 是否開啟硬件加速,0:關閉,1:開啟(僅Android) |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.openPopover("sss",0,"hidden.html","",0,0,'','','',0,100);
closePopover 關閉浮動窗口
uexWindow.closePopover(popName)
說明:
關閉浮動窗口
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
popName | String | 是 | 名稱 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.closePopover('sss')
preOpenStart 開始浮動窗口的預加載
uexWindow.preOpenStart()
說明:
popOver的預加載必須要與uexWindow.open中的flag:uex.cWiondowFlagPreOpen=64配合使用,即open時有此flag方可對應使用預加載。開始popOver(浮動窗口)的預加載。即一個窗口中需要有多個浮動窗口,可以讓這些浮動窗口預先加載出來。其執(zhí)行過程:A窗口打開B窗口,B窗口中需要預加載多個浮動窗口。那么A窗口中執(zhí)行uexWindow.open時,其flag參數需要:uex.cWiondowFlagPreOpenreOpen=64配合使用,即open時有此flag,B窗口方可使用預加載。此時在B窗口中,會等所有預加載的浮動窗口都加載完畢(不包括異步獲取網絡數據),方才顯示B窗口。預加載的浮動窗口的開啟函數,即uexWindow.openPopover,需要放置于uexWindow.preOpenStart和uexWindow.preOpenFinish之間。
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
在A窗口中,首先open窗口B,在B窗口中,預加載多個浮動窗口:A.html
<!DOCTYPE html>
<html>
<head>
<title>AppCan API uexWindow A</title>
<meta charset="utf-8">
<script>
window.uexOnload = function(type){
if(!type){
uexWindow.open("B",0,"B.html",0,"","",64);
}
}
</script>
</head>
<body>
</body>
</html>
B.html
<!DOCTYPE html>
<html>
<head>
<title>AppCan API uexWindow B</title>
<meta charset="utf-8">
</head>
<body>
</body>
<script>
window.uexOnload = function(type){
if(!type){
var s = window.getComputedStyle($$("content"), null);
uexWindow.preOpenStart();
uexWindow.openPopover("B1","0","B1.html","",0,int($$("header").offsetHeight),int(s.width),int(s.height),int(s.fontSize),"0");
uexWindow.openPopover("B2","0","B2.html","",0,int($$("header").offsetHeight),int(s.width),int(s.height),int(s.fontSize),"0");
uexWindow.preOpenFinish();
}
}
</script>
</html>
preOpenFinish 結束浮動窗口的預加載
uexWindow.preOpenFinish()
說明:
結束浮動窗口的預加載
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.preOpenFinish()
setPopoverFrame 更改浮動窗口的位置和大小
uexWindow.setPopoverFrame(popName,x,y,w,h)
說明:
更改浮動窗口的位置和大小
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
popName | String | 是 | 名稱 |
x | Number | 是 | x坐標 |
y | Number | 是 | y坐標 |
w | Number | 是 | 寬度,為空時默認為window的寬度 |
h | Number | 是 | 高度,為空時默認為window的高度 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setPopoverFrame('sss',500,200,400,400);
setPopoverVisibility 設置浮動窗口是否顯示
uexWindow.setPopoverVisibility(popName,visible)
說明:
設置浮動窗口是否顯示
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
popName | String | 是 | 名稱 |
visible | Number | 是 | 0-不顯示,1-顯示 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setPopoverVisibility('sss',0);
openMultiPopover 打開多頁面浮動窗口
uexWindow.openMultiPopover(content,popName,dataType,x,y,w,h,fontSize,flag,indexSelected,extraInfo)
說明:
在當前window打開一個多頁面浮動窗口,頁面之間滑動切換,設置是否支持滑動參照setMultilPopoverFlippingEnbaled
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
content | String | 是 | 多頁面窗口數據格式為json。不可為空。 json格式如下: ‘{“content”:[{“inPageName”:”p1”,”inUrl”:”xxx1.html”,”inData”:””, {“extraInfo”:{“opaque”:”true”,”bgColor”:”#011”}}}, {“inPageName”:”p2”,”inUrl”:”xxx2.html”,”inData”:””, {“extraInfo”:{“opaque”:”true”,”bgColor”:”#011”}}}]}’ |
popName | String | 是 | 浮動窗口名稱 |
dataType | Number | 是 | 窗口載入的數據的類型,0:url方式載入;1:html內容方式載入;2:既有url方式, 又有html內容方式 |
x | Number | 是 | x坐標 |
y | Number | 是 | y坐標 |
w | Number | 是 | 寬度,為空時默認為window的寬度 |
h | Number | 是 | 高度,為空時默認為window的高度 |
fontSize | Number | 是 | 字體大小 |
flag | Number | 是 | 浮動窗口標記,詳見CONSTANT中WindowFlags |
indexSelected | Number | 是 | 默認打開的頁面索引,默認為0 |
extraInfo | String | 否 | 擴展參數,json格式如下:{“extraInfo”:{“opaque”:”true”,”bgColor”:”#011”, “delayTime”:”250”}} |
content json
中各字段的說明:
參數 | 是否必須 | 說明 |
---|---|---|
inPageName | 是 | 所包含的單頁面窗口的名字 |
inUrl | 是 | url類型數據 |
inData | 是 | 窗口的內容的二進制數據,可為空 |
extraInfo | 是 | extraInfo參數 |
opaque | 否 | 是否透明true/false默認為false |
bgColor | 否 | 背景色,支持圖片和顏色,格式為#fff、#ffffff、rgba(r,g,b,a)等,圖片路徑支持res://、 wgt://等AppCan協議路徑 |
extraInfo json
中各字段的說明:
參數 | 是否必須 | 說明 |
---|---|---|
extraInfo | 必選 | extraInfo參數 |
opaque | 可選 | 是否透明true/false默認為false |
bgColor | 可選 | 背景色,支持圖片和顏色,格式為#fff、#ffffff、rgba(r,g,b,a)等,圖片路徑支持res://、wgt:// 等AppCan協議路徑 |
delayTime | 可選 | 延遲打開窗口,單位為毫秒,避免父窗口在uexOnload中打開浮動窗口產生卡頓。 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
實例下載,建議采用JSSDK封裝接口方法,參考appcan.frame.open和appcan.window.openMultiPopover
uexWindow.openMultiPopover('{"content":[{"inPageName":"p1", "inUrl":"hidden.html","inData":""},{"inPageName":"p2", "inUrl":"hidden1.html","inData":""}]}',"sss",0,400,0,'','','',0,1);
closeMultiPopover 關閉多頁面浮動窗口
uexWindow.closeMultiPopover(popName)
說明:
關閉多頁面浮動窗口
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
popName | String | 是 | 名稱 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.closeMultiPopover('sss')
setSelectedPopOverInMultiWindow 設置多頁面浮動窗口跳轉到的子頁面窗口的索引
uexWindow.setSelectedPopOverInMultiWindow(popName, indexPage)
說明:
設置多頁面浮動窗口跳轉到的子頁面窗口的索引
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
popName | String | 是 | 浮動窗口名稱 |
indexPage | Number | 是 | 索引 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setSelectedPopOverInMultiWindow('sss', 0);
setMultiPopoverFrame 更改多頁面浮動窗口的位置和大小
uexWindow.setMultiPopoverFrame(popName,x,y,w,h)
說明:
更改多頁面浮動窗口的位置和大小
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
popName | String | 是 | 浮動窗口名稱 |
x | Number | 是 | x坐標 |
y | Number | 是 | y坐標 |
w | Number | 是 | 寬度,為空時默認為window的寬度 |
h | Number | 是 | 高度,為空時默認為window的高度 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setMultiPopoverFrame("multipop", "10", "10", "600", "600");
bringToFront 置頂當前浮動窗口
uexWindow.bringToFront()
說明:
置頂當前浮動窗口
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
主窗口A中打開浮動窗口B1,B2,B3,代碼如下:
A.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<script type="text/javascript">
window.uexOnload = function(type){
uexWindow.openPopover("pop1",0,"B1.html","",400,0,'','','',0,0);
uexWindow.openPopover("pop2",0,"B2.html","",400,100,'','','',0,0);
uexWindow.openPopover("pop3",0,"B3.html","",400,200,'','','',0,0);
}
function bringPopoverToFront(){
uexWindow.bringPopoverToFront("pop1");
}
function sendPopoverToBack(){
uexWindow.sendPopoverToBack("pop1");
}
function insertPopoverAbovePopover(){
uexWindow.bringPopoverToFront("pop1","pop3");
}
function insertPopoverBelowPopover(){
uexWindow.insertPopoverBelowPopover("pop1","pop3");
}
</script>
</head>
<body class="um-vp" ontouchstart>
<div class="conbor">
<div class="consj">
<input class="btn" type="button" value="置頂窗口" onclick="bringPopoverToFront()"/>
<input class="btn" type="button" value="置底窗口" onclick="sendPopoverToBack()"/>
<input class="btn" type="button" value="插入之上" onclick="insertPopoverAbovePopover()"/>
<input class="btn" type="button" value="插入之下" onclick="insertPopoverBelowPopover()"/>
</div>
</div>
</body>
</html>
B1.html
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-
scale=1.0, user-scalable=no" />
<link rel="stylesheet" type="text/css" href="css/index.css">
<script type="text/javascript">
window.uexOnload = function(type){
uexWindow.bringToFront();
}
</script>
</head>
<body style="background:#077333;">
<div class="tit">B1</div>
<div class="consj">
<span class="tit"></span>
<input class="btn" type="button" value="置底當前浮動窗口" onclick="uexWindow.sendToBack();">
<input class="btn" type="button" value="插入之上" onclick="uexWindow.insertAbove('pop2');">
<input class="btn" type="button" value="插入之下" onclick="uexWindow.insertBelow('pop2');">
</div>
</body>
</html>
sendToBack 置底當前浮動窗口
uexWindow.sendToBack()
說明:
置底當前浮動窗口
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.sendToBack()
insertAbove 將當前浮動窗口插入到指定浮動窗口之上
uexWindow.insertAbove(name)
說明:
將當前浮動窗口插入到指定浮動窗口之上
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
name | String | 是 | 目標浮動窗口的名稱 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.insertAbove('pop2');
insertBelow 將當前浮動窗口插入到指定浮動窗口之下
uexWindow.insertBelow(name)
說明:
將當前浮動窗口插入到指定浮動窗口之下
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
name | String | 是 | 目標浮動窗口的名稱 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.insertBelow('pop2');
bringPopoverToFront 置頂指定浮動窗口
uexWindow.bringPopoverToFront(name)
說明:
置頂指定浮動窗口,只在主窗口中有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
name | String | 是 | 目標浮動窗口的名稱 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.bringPopoverToFront("pop1");
sendPopoverToBack 置底指定浮動窗口
uexWindow.sendPopoverToBack(name)
說明:
置底指定浮動窗口,只在主窗口中有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
name | String | 是 | 目標浮動窗口的名稱 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.sendPopoverToBack("pop1");
insertPopoverAbovePopover 將指定浮動窗口插入到另一浮動窗口之上
uexWindow.insertPopoverAbovePopover(nameA,nameB)
說明:
將浮動窗口A插入到浮動窗口B之上,只在主窗口中有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
nameA | String | 是 | 指定浮動窗口A的名稱 |
nameB | String | 是 | 指定浮動窗口B的名稱 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.insertPopoverAbovePopover("pop1","pop3");
insertPopoverBelowPopover
將指定浮動窗口插入到另一浮動窗口之下
uexWindow.insertPopoverBelowPopover(nameA,nameB)
說明:
將浮動窗口A插入到浮動窗口B之下,只在主窗口中有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
nameA | String | 是 | 指定浮動窗口A的名稱 |
nameB | String | 是 | 指定浮動窗口B的名稱 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.insertPopoverBelowPopover("pop1","pop3");
insertWindowAboveWindow 將指定窗口插入到另一窗口之上
uexWindow.insertWindowAboveWindow(nameA,nameB)
說明:
將指定窗口A插入到另一窗口B之上,該接口僅對顯示在屏幕上且不被隱藏的window起作用。(即open該window時,flag傳入的是256)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
nameA | String | 是 | 指定窗口A的名稱 |
nameB | String | 是 | 指定窗口B的名稱 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.insertWindowAboveWindow("pop1","pop3");
insertWindowBelowWindow 將指定窗口插入到另一窗口之下
uexWindow.insertWindowBelowWindow(nameA,nameB)
說明:
將指定窗口A插入到另一窗口B之下,該接口僅對顯示在屏幕上且不被隱藏的window起作用。(即open該window時,flag傳入的是256)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
nameA | String | 是 | 指定窗口A的名稱 |
nameB | String | 是 | 指定窗口B的名稱 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.insertWindowBelowWindow("pop1","pop3");
setWindowHidden 設置當前窗口顯示和隱藏
uexWindow.setWindowHidden(visible)
說明:
設置當前窗口顯示和隱藏,該接口僅對顯示在屏幕上且不被隱藏的window起作用。(即open該window時,flag傳入的是256)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
visible | Number | 是 | 顯示或隱藏,0-顯示;1-隱藏 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setWindowHidden(1);
toggleSlidingWindow 打開側滑窗口
uexWindow.toggleSlidingWindow(json)
說明:
打開側滑窗口
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
json | String | 是 | 該字符串為JSON格式。如下mark: (String類型) 必選 左右側窗口標識,0:左側,1:右側,reload: 可選 是否重新加載,1:重新加載 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
var params = {
mark:0,
reload:1
};
var paramStr = JSON.stringify(params);
uexWindow.toggleSlidingWindow(paramStr);
setSlidingWindow 設置側滑窗口
uexWindow.setSlidingWindow(json)
說明:
設置側滑窗口
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
json | String | 是 | 側滑窗口信息。該字符串為JSON格式。如下: {leftSliding: {width:240,url:”uexWindow_left.html”},rightSliding: {width:240,url:”uexWindow_left.html”}} |
json
字符串中各字段含義如下:
參數 | 參數類型 | 是否必須 | 說明 |
---|---|---|---|
leftSliding | String | 是 | 左側側滑窗口 |
rightSliding | String | 是 | 右側側滑窗口 |
width | Number | 是 | 側滑窗口寬度 |
url | String | 是 | url類型數據 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
var params = {
leftSliding:{
width:240,
url:"uexWindow_left.html"
},
rightSliding:{
width:240,
url:"uexWindow_left.html"
}
};
var paramStr = JSON.stringify(params);
uexWindow.setSlidingWindow(paramStr);
setSlidingWindowEnabled 設置側滑窗口是否可用
uexWindow.setSlidingWindowEnabled(enable)
說明:
設置側滑窗口是否可用
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
enable | Number | 是 | 是否可用,0:不可用,1:可用 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setSlidingWindowEnabled(1);
setMultilPopoverFlippingEnbaled 設置控件是否響應滑動事件
uexWindow.setMultilPopoverFlippingEnbaled(enable)
說明:
設置控件是否響應滑動事件,該接口需要在Multipopover的子頁面中調用
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
enable | Number | 是 | 滑動手勢開關,0:允許滑動手勢切換子頁面,1:禁止滑動手勢切換子頁面 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setMultilPopoverFlippingEnbaled(1);
postGlobalNotification 發(fā)送全局消息
uexWindow.postGlobalNotification(content)
說明:
發(fā)送全局消息,用于窗口之間的通信,調用該方法時,所有打開(通過調用uexWindow的open和openPopover方法)的窗口只要注冊過onGlobalNotification,都會被調用。
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
content | String | 是 | 發(fā)送的內容 |
平臺支持:
Android2.2+
版本支持:
3.0.0+
示例:
這里一共涉及到3個網頁,index.html,index1.html,index2.html,其中在index2.html中發(fā)送全局消息。代碼如下:
index.html
<!DOCTYPE html>
<html class="um landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px">
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<script>
function onGlobalNotification(ret){
console.log("index:"+ret);
}
function openWindow(){
uexWindow.open('index','0','index1.html','2','','',0);
//uexWindow.openPopover('index',"0",'index1.html',"","","","","","","0");
}
</script>
</head>
<body class="um-vp c-wh" ontouchstart>
<div id="page_0" class="up ub ub-ver" tabindex="0">
<!--header開始-->
<div id="header" class="uh c-org c-m1 t-wh ub">
<h1 class="ut ub-f1 ulev0 ut-s tx-c">index.html</h1>
</div>
<!--header結束-->
<div>
<input type="button" value="index1" onClick="openWindow()" style="line-height:2em;font-size:14px"/>
</div>
</div>
</body>
<script>
window.uexOnload = function(type){
uexWindow.onGlobalNotification = onGlobalNotification;
}
</script>
</html>
index1.html
<!DOCTYPE html>
<html class="um landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px">
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<script>
function onGlobalNotification(ret){
console.log("index1:"+ret);
}
function openWindow(){
uexWindow.open('index1','0','index2.html','2','','',0);
//uexWindow.openPopover('index1',"0",'index2.html',"","","","","","","0");
}
</script>
</head>
<body class="um-vp c-wh" ontouchstart>
<div id="page_0" class="up ub ub-ver" tabindex="0">
<!--header開始-->
<div id="header" class="uh c-org c-m1 t-wh ub">
<h1 class="ut ub-f1 ulev0 ut-s tx-c">index1.html</h1>
</div>
<!--header結束-->
<div>
<input type="button" value="index2" onClick="openWindow()" style="line-height:2em;font-size:14px"/>
</div>
</div>
</body>
<script>
window.uexOnload = function(type){
uexWindow.onGlobalNotification = onGlobalNotification;
}
</script>
</html>
index2.html
<!DOCTYPE html>
<html class="um landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px">
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<script>
function onGlobalNotification(ret){
console.log("index2:"+ret);
}
</script>
</head>
<body class="um-vp c-wh" ontouchstart>
<div id="page_0" class="up ub ub-ver" tabindex="0">
<!--header開始-->
<div id="header" class="uh c-org c-m1 t-wh ub">
<h1 class="ut ub-f1 ulev0 ut-s tx-c">index2.html</h1>
</div>
<!--header結束-->
</div>
</body>
<script>
window.uexOnload = function(type){
uexWindow.onGlobalNotification = onGlobalNotification;
uexWindow.postGlobalNotification("test just!");
}
</script>
</html>
subscribeChannelNotification 注冊接收消息通知的監(jiān)聽器
uexWindow.subscribeChannelNotification(channelId,functionName)
說明:
窗口之間的通信,可以通過發(fā)布/訂閱模式來實現。窗口調用此接口訂閱頻道監(jiān)聽,當在另一窗口調用publishChannelNotification或publishChannelNotificationForJson時,對應此頻道的回調方法將被調用,并傳入相應的參數。
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
channelId | String | 是 | 頻道唯一標識符 |
functionName | String | 是 | 回調方法名稱 |
平臺支持:
Android2.2+
iOS 6.0+
版本支持:
3.0.0+
示例:
這里一共涉及到3個網頁,index.html,index1.html,index2.html,其中在index2.html中發(fā)送全局消息。代碼如下:
index.html
<!DOCTYPE html>
<html class="um landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px">
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<script>
function onNotification(ret){
console.log("index:"+ret);
}
function openWindow(){
uexWindow.open('index','0','index1.html','2','','',0);
//uexWindow.openPopover('index',"0",'index1.html',"","","","","","","0");
}
</script>
</head>
<body class="um-vp c-wh" ontouchstart>
<div id="page_0" class="up ub ub-ver" tabindex="0">
<!--header開始-->
<div id="header" class="uh c-org c-m1 t-wh ub">
<h1 class="ut ub-f1 ulev0 ut-s tx-c">index.html</h1>
</div>
<!--header結束-->
<div>
<input type="button" value="index1" onClick="openWindow()" style="line-height:2em;font-size:14px"/>
</div>
</div>
</body>
<script>
window.uexOnload = function(type){
uexWindow.onNotification = onNotification;
uexWindow.subscribeChannelNotification("No1", "onNotification");
}
</script>
</html>
index1.html
<!DOCTYPE html>
<html class="um landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px">
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<script>
function onNotification(ret){
console.log("index1:"+ret);
}
function openWindow(){
uexWindow.open('index1','0','index2.html','2','','',0);
//uexWindow.openPopover('index1',"0",'index2.html',"","","","","","","0");
}
</script>
</head>
<body class="um-vp c-wh" ontouchstart>
<div id="page_0" class="up ub ub-ver" tabindex="0">
<!--header開始-->
<div id="header" class="uh c-org c-m1 t-wh ub">
<h1 class="ut ub-f1 ulev0 ut-s tx-c">index1.html</h1>
</div>
<!--header結束-->
<div>
<input type="button" value="index2" onClick="openWindow()" style="line-height:2em;font-size:14px"/>
</div>
</div>
</body>
<script>
window.uexOnload = function(type){
uexWindow.onNotification = onNotification;
uexWindow.subscribeChannelNotification("No2", "onNotification");
}
</script>
</html>
index2.html
<!DOCTYPE html>
<html class="um landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px">
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<script>
function onNotification(ret){
console.log("index2:"+ret);
}
</script>
</head>
<body class="um-vp c-wh" ontouchstart>
<div id="page_0" class="up ub ub-ver" tabindex="0">
<!--header開始-->
<div id="header" class="uh c-org c-m1 t-wh ub">
<h1 class="ut ub-f1 ulev0 ut-s tx-c">index2.html</h1>
</div>
<!--header結束-->
</div>
</body>
<script>
window.uexOnload = function(type){
uexWindow.onNotification = onNotification;
uexWindow.subscribeChannelNotification("No1", "onNotification");
uexWindow.subscribeChannelNotification("No2", "onNotification");
uexWindow.publishChannelNotification("No1","channel 1 test just!");
uexWindow.publishChannelNotification("No2","channel 2 test just!");
}
</script>
</html>
publishChannelNotification 發(fā)布消息通知
uexWindow.publishChannelNotification(channelId,content)
說明:
發(fā)布消息通知,此頻道的所有訂閱者,將收到消息,回調函數將被調用,并傳入相應的參數.
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
channelId | String | 是 | 頻道唯一標識符 |
content | String | 是 | 發(fā)布的內容 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.publishChannelNotification("No1","channel 1 test just!");
publishChannelNotificationForJson 發(fā)布Json類型消息通知
uexWindow.publishChannelNotificationForJson(channelId,content)
說明:
發(fā)布消息通知,此頻道的所有訂閱者,將收到消息,回調函數將被調用,并傳入相應的參數.
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
channelId | String | 是 | 頻道唯一標識符 |
content | String | 是 | 發(fā)送Json類型的內容 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
var json = {
key :value
}
uexWindow.publishChannelNotificationForJson("No1",JSON.stringify(json));
getState 獲取當前窗口處于前臺還是后臺
uexWindow.getState()
說明:
獲取當前窗口處于前臺還是后臺
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.getState()
getHeight 獲取window的高度
uexWindow.getHeight(jsonStr)
參數:
無
示例:
var height=uexWindow.getHeight();
console.log("height: "+height);
平臺支持:
Android 2.2+
iOS 6.0+
版本支持:
3.2.0+
getWidth 獲取window的寬度
uexWindow.getWidth(jsonStr)
參數:
無
示例:
var width=uexWindow.getWidth();
console.log("width: "+ width);
平臺支持:
Android 2.2+
iOS 6.0+
版本支持:
3.2.0+
getUrlQuery 獲取加載頁面時傳入的參數
uexWindow.getUrlQuery()
說明:
獲取加載頁面時傳入的參數, 其回調函數是cbGetUrlQuery
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.getUrlQuery();
getSlidingWindowState 獲取側滑窗口顯示情況
uexWindow.getSlidingWindowState()
說明:
獲取側滑窗口顯示情況,回調方法cbSlidingWindowState
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.getSlidingWindowState();
alert 彈出alert對話框
uexWindow.alert(title,message,buttonLable)
說明:
彈出只有一個確定按鈕的對話框
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
title | String | 是 | 標題 |
message | String | 是 | 內容 |
buttonLable | String | 是 | 顯示在按鈕上的文字 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.alert("提示","alert框測試","OK");
confirm 彈出confirm對話框
uexWindow.confirm(title,message,buttonLable)
說明:
彈出至少包含一個至多包含3個按鈕的對話框
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
title | String | 是 | 標題 |
message | String | 是 | 內容 |
buttonLable | Array | 是 | 顯示在按鈕上的文字的集合 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.confirm("警告","確定退出么?","OK,Cancel");
prompt 彈出prompt對話框
uexWindow.prompt(title,message,defaultValue,buttonLable,hint)
說明:
彈出包含兩個按鈕且?guī)л斎肟虻膶υ捒?/p>
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
title | String | 是 | 標題 |
message | String | 是 | 對話框內容,不需要時請傳空字符串"" |
defaultValue | String | 是 | 輸入框默認文字,不需要時請傳空字符串"" |
buttonLable | String | 是 | 顯示在按鈕上的文字的集合 ,多個按鈕之間用逗號, 分隔 |
hint | String | 否 | 輸入框中的提示文字,在輸入框中內容為空時顯示 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.prompt("提示","請輸入內容:","","OK,Cancel");
toast 彈出消息提示框
uexWindow.toast(type,location,msg,duration)
說明:
彈出消息提示框,常見的用于獲取網絡數據,在請求過程中給個加載提示,數據加載完成時關閉提示。
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
type | Number | 是 | 0-沒有進度條;1-有進度條 |
location | Number | 是 | 顯示位置,詳見CONSTANT中WindowToastLocation |
msg | Number | 是 | 消息 |
duration | Number | 是 | 顯示時間,單位為毫秒,非正整數時,提示框一直存在,不會自動關閉 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.toast(1,5,"正在加載...",0);
closeToast 關閉消息提示框
uexWindow.closeToast()
說明:
關閉消息提示框
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.closeToast()
createProgressDialog 創(chuàng)建全局對話框
uexWindow.createProgressDialog(title,msg,canCancel)
說明:
創(chuàng)建一個全局對話框,屏蔽用戶對界面的一切操作,可以定義是否模態(tài)。常見的用于獲取網絡數據,在請求過程中給個加載提示,數據加載完成時關閉提示。
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
title | String | 是 | 標題,傳空字符串時沒有標題,如’’ |
msg | String | 是 | 內容 |
canCancel | Number | 否 | 是否可以取消,即點擊屏幕上除對話框以外的任何地方,或者點擊返回鍵,對話框是否消失。 0-可以取消,1-不能取消。設置為1時,該對話框只能在通過調 用destroyProgressDialog取消,否則會一直顯示。默認可以取消 |
平臺支持:
iOS 6.0+
Android 4.0+
版本支持:
iOS 3.2.0+
Android 3.0.0+
示例:
uexWindow.createProgressDialog('','正在加載,請稍候...',0);
destroyProgressDialog 銷毀全局對話框
uexWindow.destroyProgressDialog()
說明:
銷毀全局對話框
參數:
無
平臺支持:
iOS 6.0+
Android 4.0+
版本支持:
iOS 3.2.0+
Android 3.0.0+
示例:
uexWindow.destroyProgressDialog()
actionSheet 彈出菜單列表
uexWindow.actionSheet(title,cancel,buttonLables)
說明:
從界面底部彈出按鈕列表, 其回調接口是cbActionSheet
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
title | String | 是 | 標題 |
cancel | String | 是 | 顯示在取消按鈕上的文本 |
buttonLable | Array | 是 | 按鈕列表文字 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.actionSheet("菜單","Cancel","Opt1,Opt2,Opt3,Opt4,Opt5,Opt6");
setOrientation 設置屏幕方向
uexWindow.setOrientation(orientation)
說明:
設置屏幕方向
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
orientation | Number | 是 | 1:豎屏,home鍵在屏幕下方; 2:橫屏,home鍵在屏幕右邊;4:豎屏,home鍵在屏幕上方; 8:橫屏,home鍵在屏幕左邊; 15:隨系統設置自動轉屏。 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setOrientation(1);
setWindowScrollbarVisible 設置滾動條的顯示和隱藏
uexWindow.setWindowScrollbarVisible(visible)
說明:
設置滾動條的顯示和隱藏
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
visible | Bool | 是 | 顯示或隱藏,true-顯示;false-隱藏 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-
scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<script type="text/javascript">
window.uexOnload = function(type){
}
function setDis(vis){
uexWindow.setWindowScrollbarVisible(vis);
}
</script>
</head>
<body class="um-vp" ontouchstart>
<div class="conbor">
<div class="consj">
<input class="btn" type="button" value="顯示" onclick="setDis('true')"/>
<input class="btn" type="button" value="隱藏" onclick="setDis('false')"/>
</div>
</div>
</body>
</html>
setReportKey 設置當前頁面是否攔截某個按鍵
uexWindow.setReportKey(keyCode,enable)
說明:
設置當前頁面是否攔截某個按鍵
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
keyCode | Number | 是 | 要攔截的鍵值,0-返回鍵,1-菜單鍵 |
enable | Number | 是 | 是否攔截,0-不攔截,1-攔截 |
平臺支持:
Android2.2+
版本支持:
3.0.0+
示例:
uexWindow.setReportKey(1,1)
showSoftKeyboard 彈出軟鍵盤
uexWindow.showSoftKeyboard()
說明:
彈出Android設備軟鍵盤
參數:
無
平臺支持:
Android2.2+
版本支持:
3.0.0+
hideSoftKeyboard 關閉軟鍵盤
uexWindow.hideSoftKeyboard()
說明:
關閉Android設備軟鍵盤
參數:
無
平臺支持:
Android2.2+
版本支持:
3.1.0+
setSwipeRate 設置左右手勢的靈敏度
uexWindow.setSwipeRate(rate)
說明:
設置左右手勢的靈敏度
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
rate | Number | 是 | 靈敏度,大于等于1 |
平臺支持:
Android2.2+
版本支持:
3.0.0+
hideStatusBar 隱藏狀態(tài)欄
uexWindow.hideStatusBar()
說明:
設置當前應用狀態(tài)欄隱藏,一般使用場景非全屏(線上打包狀態(tài)欄設置可選擇)下,當前應用有狀態(tài)欄
參數:
無
平臺支持:
iOS7.0+
版本支持:
3.0.0+
示例
uexWindow.hideStatusBar();
showStatusBar 顯示狀態(tài)欄
uexWindow.showStatusBar()
說明:
設置當前應用狀態(tài)欄顯示,一般使用場景非全屏(線上打包狀態(tài)欄設置可選擇)下,當前應用有狀態(tài)欄
參數:
無
平臺支持:
iOS7.0+
版本支持:
3.0.0+
示例
uexWindow.showStatusBar();
setStatusBarTitleColor 設置狀態(tài)條上字體的顏色
uexWindow.setStatusBarTitleColor(color)
說明:
設置狀態(tài)條上字體的顏色
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
color | Number | 是 | 狀態(tài)條上字體的顏色,0為白色(iOS7以上為透明底,iOS7以下為黑底), 1為黑色(iOS7以上為透明底,iOS7以下為白底) |
平臺支持:
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setStatusBarTitleColor(0);
statusBarNotification 發(fā)送消息到狀態(tài)欄
uexWindow.statusBarNotification(title,msg)
說明:
發(fā)送消息到狀態(tài)欄
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
title | String | 是 | 標題 |
msg | String | 是 | 消息 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.statusBarNotification('title','msg');
share 調用系統分享
uexWindow.share(jsonStr)
說明:
調用系統的分享框
參數:
jsonStr是JSON字符串,容許的字段如下表所示(以下均為可選參數)
Key | Value類型 | 適用系統 | 說明 |
---|---|---|---|
type | Number | Android | 0-直接分享至微信朋友圈 |
title | String | Android | 標題 |
subject | String | Android | 子標題 |
text | String | Android iOS | 文本內容 |
imgPath | String | Android iOS | 單張圖片的路徑,支支持file://,res://和wgt://協議,圖片需要先存到本地 |
imgPaths | Array | Android iOS | 多張圖片路徑,由imgPath構成的數組 |
packageName | String | Android | 包名??膳cclassName搭配直接分享到某個應用。type傳0時不需要傳此項 |
className | String | Android | 可與packageName搭配直接分享到某個應用。type傳0時不需要傳此項 |
平臺支持:
iOS6.0+
注:6.0+的系統就可以調起此接口分享內容到系統應用,但在8.0之后才允許分享至第三方應用。
Android 2.3+
版本支持:
iOS 3.2.0+
Android 3.2.3+
示例
Android直接分享多張圖片到微信朋友圈:
function share() {
var imgs = ["/sdcard/DCIM/123.jpg","/sdcard/DCIM/119.jpg","/sdcard/DCIM/504.jpg"];
var params = {
type:0,
text:"分享到朋友圈的文字內容",
imgPaths:imgs
};
var paramStr = JSON.stringify(params);
uexWindow.share(paramStr);
}
iOS 分享多張圖片至微信
function share(){
var param = {
imgPaths:["res://photo1t.jpg","res://photo2t.jpg"]
}
uexWindow.share(JSON.stringify(param));
}
setLoadingImagePath 設置啟動圖相關參數
uexWindow.setLoadingImagePath(params)
說明:
用于引擎的啟動圖之后,動態(tài)加載自定義啟動畫面;
設置啟動圖路徑和時間(推薦采用本地路徑),下次啟動應用才會生效 。
參數:
params是JSON字符串,具體結構如下
var params = {
loadingImagePath:,//String,必選 啟動圖路徑,只支持"res://","wgt://"協議,當此字段傳空字符串("")時,代表取消自定義啟動圖,網絡地址圖片優(yōu)先建議下載到本地來設置啟動圖路徑;
loadingImageTime:,//Number,當loadingImagePath非空時必選 啟動圖持續(xù)時間,單位毫秒
}
平臺支持:
Android2.2+
iOS7.0+
版本支持:
3.4.1+
示例:
var params = {
loadingImagePath:"file:///sdcard/startup_file.jpg",
loadingImageTime:3000
};
var paramStr = JSON.stringify(params);
uexWindow.setLoadingImagePath(paramStr);
setAutorotateEnable 設置窗口是否跟隨設備自動旋轉
uexWindow.setAutorotateEnable()
說明:
是否跟隨設備自動旋轉,默認是跟隨
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
enable | Number | 是 | 是否跟隨,0:跟隨;1:不跟隨 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setAutorotateEnable(1);
setHardwareEnable 設置窗口的硬件加速
uexWindow.setHardwareEnable(flag)
說明:
開啟或關閉當前window的硬件加速,用于解決網頁閃屏的問題。如果需要打開window時就是關閉狀態(tài),請參考uexWindow.open
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
flag | Number | 是 | 是否開啟,0:關閉;1:開啟 |
平臺支持:
Android4.0+
版本支持:
3.2.0+
示例:
uexWindow.setHardwareEnable(1);
setPopHardwareEnable 設置Popover的硬件加速功能
uexWindow.setPopHardwareEnable(name,flag)
說明:
開啟或關閉當前popover的硬件加速,用于解決網頁閃屏的問題,打開popover后調用。如果需要打開popover時就是關閉狀態(tài),請參考uexWindow.openPopover
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
flag | Number | 是 | 是否開啟,0:關閉;1:開啟 |
name | String | 是 | popover的name |
平臺支持:
Android4.0+
版本支持:
3.2.0+
示例:
uexWindow.setPopHardwareEnable(‘content’,1);
beginAnimition 開始設置動畫的相關參數
uexWindow.beginAnimition()
說明:
開始設置動畫的相關參數,僅對浮動窗口有效
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.beginAnimition()`
setAnimitionDelay 設置動畫延遲執(zhí)行時間
uexWindow.setAnimitionDelay(delay)
說明:
設置動畫延遲執(zhí)行時間,僅對浮動窗口有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
delay | Number | 否 | 延遲執(zhí)行的時間(單位:毫秒),默認為0 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setAnimitionDelay(200)
setAnimitionDuration 設置動畫持續(xù)時間
uexWindow.setAnimitionDuration(duration)
說明:
設置動畫持續(xù)時間,僅對浮動窗口有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
duration | Number | 否 | 持續(xù)時間(單位:毫秒),默認為260 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setAnimitionDuration(4000);
setAnimitionCurve 設置動畫曲線類型
uexWindow.setAnimitionCurve(curve)
說明:
設置動畫曲線類型,僅對浮動窗口有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
curve | Number | 否 | 動畫曲線類型,默認為0。詳見CONSTANT中WindowAnimCurveType |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setAnimitionCurve(1);
setAnimitionRepeatCount 設置動畫重復次數
uexWindow.setAnimitionRepeatCount(count)
說明:
設置動畫重復次數,僅對浮動窗口有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
count | Number | 否 | 重復次數,默認為0 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setAnimitionRepeatCount(0);
setAnimitionAutoReverse 設置動畫結束后自動恢復位置和狀態(tài)
uexWindow.setAnimitionAutoReverse(isReverse)
說明:
設置動畫結束后自動恢復位置和狀態(tài),僅對浮動窗口有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
isReverse | Number | 否 | 是否恢復。0-不恢復;1-恢復。默認為0 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setAnimitionAutoReverse(1);
makeTranslation 設置移動動畫
uexWindow.makeTranslation(toX,toY,toZ)
說明:
設置移動動畫,僅對浮動窗口有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
toX | Number | 是 | 相對于當前位置的x軸方向上的平移距離,int型整數,負數或正數 |
toY | Number | 是 | 相對于當前位置的y軸方向上的平移距離,int型整數,負數或正數 |
toZ | Number | 是 | 相對于當前位置的z軸方向上的平移距離,int型整數,負數或正數 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.makeTranslation(100,0,0);
makeScale 設置伸縮動畫
uexWindow.makeScale(toX,toY,toZ)
說明:
設置伸縮動畫,僅對浮動窗口有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
toX | Number | 是 | 相對于當前大小的x軸方向上的放大倍率,大于0的float型數據 |
toY | Number | 是 | 相對于當前大小的y軸方向上的放大倍率,大于0的float型數據 |
toZ | Number | 是 | 相對于當前大小的z軸方向上的放大倍率,大于0的float型數據 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.makeScale(2,1,1);
makeRotate 設置旋轉動畫
uexWindow.makeRotate(degrees,toX,toY,toZ)
說明:
設置旋轉動畫,僅對浮動窗口有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
degrees | Number | 是 | 相對于當前角度的旋轉度數 |
toX | Number | 是 | 是否繞X軸旋轉。0為false,1為true |
toY | Number | 是 | 是否繞Y軸旋轉。0為false,1為true |
toZ | Number | 是 | 是否繞Z軸旋轉。0為false,1為true |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.makeRotate(90, 1, 0, 1);
makeAlpha 設置透明度動畫
uexWindow.makeAlpha(alpha)
說明:
設置透明度動畫,僅對浮動窗口有效
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
alpha | Number | 是 | 相對于當前alpha的值,0.0到1.0的float型數據 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.makeAlpha(0.5);
commitAnimition 提交動畫設置并開始執(zhí)行動畫
uexWindow.commitAnimition()
說明:
提交動畫設置并開始執(zhí)行動畫,僅對浮動窗口有效,所有參數的設置僅一次有效,動畫完了后將清除。
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.commitAnimition();
getBounce 獲取網頁彈動狀態(tài)
uexWindow.getBounce()
說明:
獲取網頁彈動狀態(tài)
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.getBounce();
setBounce 設置是否支持網頁彈動
uexWindow.setBounce(flag)
說明:
設置是否支持網頁彈動
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
flag | Number | 是 | 1:支持;0:不支持 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.setBounce(1);
notifyBounceEvent 注冊接收彈動事件
uexWindow.notifyBounceEvent(type,status)
說明:
注冊接收彈動事件
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
type | Number | 是 | 彈動的位置,0:頂端彈動;1:底部彈動 |
status | Number | 是 | 是否調用onBounceStateChange方法,0:不調用;1-調用 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.notifyBounceEvent(1,1);
showBounceView 顯示彈動效果
uexWindow.showBounceView(type,color,flag)
說明:
顯示彈動效果
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
type | Number | 是 | 彈動的位置,0:頂端彈動;1:底部彈動 |
color | String | 是 | 彈動顯示部位的顏色值,內容不超過一屏時底部彈動內容不顯示 |
flag | String | 是 | 是否顯示內容,1:顯示;0:不顯示 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.showBounceView("1","rgba(15, 155, 155, 100)", 1);
resetBounceView 設置彈動效果結束后顯示的網頁
uexWindow.resetBounceView(type)
說明:
設置彈動效果結束后顯示的網頁,一般在onBounceStateChange監(jiān)聽方法中調用該方法
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
type | Number | 是 | 彈動的位置,0:頂端;1:底部 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.resetBounceView("1");
setBounceParams 設置彈動參數
uexWindow.setBounceParams(type,status)
說明:
設置彈動參數,用于自定義view樣式
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
type | Number | 是 | 彈動的位置,0:頂端彈動;1:底部彈動 |
status | String | 是 | json格式的字符串 |
status中字段的說明
參數 | 是否必須 | 說明 |
---|---|---|
imagePath | 是 | 下拉狀態(tài)小圖標的路徑,只支持res:// 格式。路徑協議詳見CONSTANT中Pathtypes |
textColor | 是 | 展示下拉狀態(tài)文字的顏色,如:”#ffffff” |
levelText | 是 | 顯示的二級文字,如:“上次更新時間:xxxxx”。 |
pullToReloadText | 是 | 開始拖動直到超過刷新臨界線之前顯示的文字,如:“拖動刷新” |
releaseToReloadText | 是 | 拖動超過刷新臨界線后顯示的文字,如:“釋放刷新” |
loadingText | 是 | 拖動超過刷新臨界線并且釋放拖動,進入刷新狀態(tài)時顯示的文字,如:“加載中,請稍等” |
loadingImagePath | 否 | 等待狀態(tài)loading小圖標的路徑,只支持res:// 格式(該字段為定制需求,默認無效) |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
var json='{"textColor":"#000","imagePath":"res://refesh_icon.png","levelText":"更新日期","pullToReloadText":"拖動到底部","releaseToReloadText":"釋放回原處","loadingText":"更新中..."}';
uexWindow.setBounceParams(0, json);
hiddenBounceView 隱藏彈動效果
uexWindow.hiddenBounceView(type)
說明:
隱藏彈動效果
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
type | Number | 是 | 彈動顯示的部位,0:頂端;1:底部 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.hiddenBounceView(1);
topBounceViewRefresh 自動下拉刷新
uexWindow.topBounceViewRefresh()
說明:
下拉刷新初始化完成后,調用接口可達到自動下拉刷新效果,調用一次僅刷新一次。
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例
uexWindow.topBounceViewRefresh();
setIsSupportSlideCallback 設置網頁是否支持滑動的相關監(jiān)聽方法
uexWindow.setIsSupportSlideCallback(param)
說明:
因為網頁在超過一屏的時候滑動會頻繁回調,頻繁回調會造成一定情況下的網頁卡頓,因此增加該接口,默認屏蔽網頁的滑動監(jiān)聽回調,若需要回調,則需要調用該接口。注意:若設置為支持滑動監(jiān)聽,則4.4以下系統手機會出偶現橫豎屏切換之后滑動監(jiān)聽不生效的問題?;瑒颖O(jiān)聽包括onSlipedUpward,onSlipedDownward,onSlipedUpEdge,onSlipedDownEdge
參數:
var param = {
isSupport://(必選)true:支持;false:不支持。默認為false。
}
平臺支持:
Android2.2+
iOS6.0+
版本支持:
Android 2015_10_16_01+
示例:
var param = {
isSupport:false
};
uexWindow.setIsSupportSlideCallback(JSON.stringify(param));
setIsSupportSwipeCallback 設置網頁是否支持左右滑動的監(jiān)聽方法
uexWindow.setIsSupportSwipeCallback(param)
說明:
左右滑動監(jiān)聽包括onSwipeRight,onSwipeLeft,主窗口浮動窗口分別調用之后,onSwipeRight、onSwipeRight左右監(jiān)聽方法才會生效。
參數:
var param = {
isSupport:true(支持);false(不支持)。必選,默認為false。
}
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.3.2+
示例:
var param = {
isSupport:true
};
uexWindow.setIsSupportSwipeCallback(JSON.stringify(param));
uexWindow.onSwipeRight = function(){
// appcan.window.close(-1);
}
uexWindow.onSwipeLeft = function(){
// appcan.window.close(-1);
}
disturbLongPressGesture 阻礙當前網頁長按手勢
uexWindow.disturbLongPressGesture(flag)
說明:
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
flag | Number | 是 | 取值 0或者1或者2 ,詳細說明見下 |
iOS:
Android:
平臺支持:
Android2.2+
iOS9.0+
版本支持:
Android 3.3_160429_01+
iOS 3.2_20151021+
示例:
uexWindow.disturbLongPressGesture(1);
reload 重載當前頁面
uexWindow.reload();
說明
無
?
參數
無
平臺支持
Android 2.2+
iOS 5.1.1+
版本支持
3.1.0+
示例
uexWindow.reload();
createPluginViewContainer 創(chuàng)建插件容器
uexWindow.createPluginViewContainer(jsonStr);
說明:
創(chuàng)建插件容器,供插件將頁面填充進去
可用于將插件中的原生View添加在此容器中,這個容器可以承載多個頁面分別呈現不同的插件View,實現類似多浮動窗口的形式(但實際上不存在窗口)。適用于只需要使用大量的插件View來呈現復雜頁面的場景,而不使用H5頁面的模塊。
補充:可用于插件容器接口的插件有分段選擇器插件、顯示網頁插件、自定義布局列表插件。
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
jsonStr | json | 是 | 創(chuàng)建的插件容器的信息 |
var jsonStr = {
id:,//容器id
x: ,//容器位置x坐標
y: ,//容器位置y坐標
w: ,//容器位置w寬度
h: //容器位置h高度
};
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.1.0+
示例:
var params = {
"id":"998",
"x": 100,
"y": 1064,
"w":1200,
"h":1600
};
uexWindow.createPluginViewContainer(JSON.stringify(params));
closePluginViewContainer 關閉插件容器
uexWindow.closePluginViewContainer(jsonStr);
說明:
關閉插件容器
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
jsonStr | json | 是 | 關閉的插件容器的信息 |
var jsonStr = {
id : //容器id
};
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.1.0+
示例:
var params = {
"id":"998"
};
uexWindow.closePluginViewContainer(JSON.stringify(params));
showPluginViewContainer 顯示插件容器
uexWindow.showPluginViewContainer(jsonStr);
說明:
顯示隱藏的插件容器
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
jsonStr | json | 是 | 顯示的插件容器的信息 |
var jsonStr = {
id : //容器id
};
平臺支持:
Android2.2+
版本支持:
3.1.0+
示例:
var params = {
"id":"998"
};
uexWindow.showPluginViewContainer(JSON.stringify(params));
hidePluginViewContainer 隱藏插件容器
uexWindow.hidePluginViewContainer(jsonStr);
說明:
隱藏插件容器
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
jsonStr | json | 是 | 隱藏的插件容器的信息 |
var jsonStr = {
id : //容器id
};
平臺支持:
Android2.2+
版本支持:
3.1.0+
示例:
var params = {
"id":"998"
};
uexWindow.hidePluginViewContainer(JSON.stringify(params));
setPageInContainer 設置插件容器當前要顯示的頁面
uexWindow.setPageInContainer(jsonStr);
說明
設置插件容器當前要顯示的頁面
參數
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
jsonStr | json | 是 | 設置當前展示容器的信息 |
var jsonStr = {
id : ,//容器id
index ://要顯示頁面index
};
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.1.0+
示例:
var params = {
id :"998"
index : 1
};
uexWindow.setPageInContainer(JSON.stringify(params));
setSwipeCloseEnable 設置當前頁面是否支持手勢側滑關閉
uexWindow.setSwipeCloseEnable(jsonStr)
說明:
允許在打開窗口設置flag1024開啟側滑關閉功能后,禁止或者重新允許當前頁面是否支持手勢側滑關閉
注意:僅對支持手勢側滑關閉的window有效!
參數:
jsonStr是JSON字符串,具體格式如下
var jsonStr = {
enable: ,//Number,必選。傳0表示禁止手勢側滑關閉,傳1表示允許手勢側滑關閉
};
示例:
var params = {
enable:0,
};
var paramStr = JSON.stringify(params);
uexWindow.setSwipeCloseEnable(paramStr);
平臺支持:
Android 2.2+
iOS 6.0+
版本支持:
3.2.0+
putLocalData 存放本地數據
uexWindow.putLocalData(key,value)
說明:
持久化存儲數據,App被卸載時,數據會被清空。如果需要永久存儲數據,請使用文件存儲。
參數:key
:String 類型
value
:String 類型
示例:
uexWindow.putLocalData('name','appcan');
平臺支持:
Android 2.2+
iOS 6.0+
版本支持:
3.3.0+
getLocalData 獲取本地存儲的數據
uexWindow.getLocalData(key)
說明:
持久化存儲數據,App被卸載時,數據會被清空。如果需要永久存儲數據,請使用文件存儲。
參數:key
:String 類型
示例:
var name=uexWindow.getLocalData('name');
console.log(name);
平臺支持:
Android 2.2+
iOS 6.0+
版本支持:
3.3.0+
cbConfirm 彈出confirm對話框的回調方法
uexWindow.cbConfirm(opId,dataType,data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
opId | Number | 是 | 操作ID,此方法中不起作用 |
dataType | Number | 是 | 參數類型詳見CONSTANT中Callback dataType數據類型 |
data | Number | 是 | 返回的數據,用戶點擊的按鈕索引 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
function cbConfirm(opId, dataType, data){
alert('選擇了' + data);
}
window.uexOnload = function(type){
uexWindow.cbConfirm = cbConfirm;
}
cbPrompt 彈出prompt對話框的回調方法
uexWindow.cbPrompt(opId,dataType,data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
opId | Number | 是 | 操作ID,此方法中不起作用 |
dataType | Number | 是 | 參數類型詳見CONSTANT中Callback dataType數據類型 |
data | String | 是 | 返回用戶點擊對話框上的按鈕索引及輸入框中的值,json格式為 {“num”:”0”,”value”:”xxx”} |
data
中各字段含義如下:
參數 | 是否必須 | 說明 |
---|---|---|
num | 是 | 索引 |
value | 是 | 輸入框中的值 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
function cbPrompt(opId, dataType, data){
alert(data);
}
window.uexOnload = function(type){
uexWindow.cbPrompt = cbPrompt;
}
cbActionSheet 彈出菜單列表的回調方法
uexWindow.cbActionSheet(opId,dataType,data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
opId | Number | 是 | 操作ID,此方法中不起作用 |
dataType | Number | 是 | 參數類型詳見CONSTANT中Callback dataType數據類型 |
data | Number | 是 | 返回的數據,用戶點擊的按鈕索引 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
function actionSheet(){
uexWindow.actionSheet("菜單","Cancel","Opt1,Opt2,Opt3,Opt4,Opt5,Opt6");
}
function cbActionSheet(opId, dataType, data){
alert(data);
}
window.uexOnload = function(type){
uexWindow.cbActionSheet = cbActionSheet;
}
cbGetState 獲取窗口是否處于前臺的回調方法
uexWindow.cbGetState(opId,dataType,data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
opId | Number | 是 | 操作ID,此方法中不起作用 |
dataType | Number | 是 | 參數類型詳見CONSTANT中Callback dataType數據類型 |
data | Number | 是 | 返回的數據,0:前臺;1:后臺 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
cbPageBack 返回到上一個頁面的回調方法
uexWindow.cbPageBack(opId,dataType,data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
opId | Number | 是 | 操作ID,此方法中不起作用 |
dataType | Number | 是 | 參數類型詳見CONSTANT中Callback dataType數據類型 |
data | Number | 是 | 返回結果,0:成功;1:失敗 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
cbPageForward 前進到下一個頁面的回調方法
uexWindow.cbPageForward(opId,dataType,data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
opId | Number | 是 | 操作ID,此方法中不起作用 |
dataType | Number | 是 | 參數類型詳見CONSTANT中Callback dataType數據類型 |
data | Number | 是 | 返回結果,0:成功;1:失敗 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
cbOpenMultiPopover 打開多頁面浮動窗口的回調方法
uexWindow.cbOpenMultiPopover(opId,dataType,data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
opId | Number | 是 | 操作ID,此方法中不起作用 |
dataType | Number | 是 | 參數類型詳見CONSTANT中Callback dataType數據類型 |
data | String | 是 | 返回當前選擇的浮動窗口頁面的數據,json格式如下: {“multiPopName”:”name”,”multiPopSelectedIndex”:”index”} |
data字符串中各字段含義如下:
參數 | 是否必須 | 說明 |
---|---|---|
multiPopName | 是 | 多頁面浮動窗口的名字 |
multiPopSelectedIndex | 是 | 子頁面窗口索引 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
cbGetUrlQuery 獲取參數時的回調方法
uexWindow.cbGetUrlQuery(opId,dataType,data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
opId | Number | 是 | 操作ID,此方法中不起作用 |
dataType | Number | 是 | 參數類型詳見CONSTANT中Callback dataType數據類型 |
data | Number | 是 | 返回的數據 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
cbBounceState 獲取網頁彈動狀態(tài)的回調方法
uexWindow.cbBounceState(opId,dataType,data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
opId | Number | 是 | 操作ID,此方法中不起作用 |
dataType | Number | 是 | 參數類型詳見CONSTANT中Callback dataType數據類型 |
data | Number | 是 | 0:關閉;1:開啟 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
cbCreatePluginViewContainer 容器創(chuàng)建成功的回調方法
uexWindow.cbCreatePluginViewContainer (opId,dataType,data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
opId | Number | 是 | 創(chuàng)建成功的容器id |
dataType | Number | 是 | 參數類型詳見CONSTANT中Callback方法數據類型 |
data | String | 是 | 返回的數據,success 創(chuàng)建成功 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.1.0+
示例:
window.uexOnload = function(type){
uexWindow.cbCreatePluginViewContainer = function(opId, dataType, data){
alert("cbCreatePluginViewContainer: " + data );
}
}
cbClosePluginViewContainer 容器關閉成功的回調方法
uexWindow.cbClosePluginViewContainer(opId,dataType,data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
opId | Number | 是 | 被關閉的容器id |
dataType | Number | 是 | 參數類型詳見CONSTANT中Callback方法數據類型 |
data | String | 是 | 返回的數據,success 容器關閉成功 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.1.0+
示例:
window.uexOnload = function(type){
uexWindow.cbClosePluginViewContainer = function(opId, dataType, data){
alert("cbClosePluginViewContainer: " + data );
}
}
onPluginContainerPageChange容器頁面切換回調
uexWindow.onPluginContainerPageChange(opId,dataType,data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
opId | Number | 是 | 頁面切換的容器id |
dataType | Number | 是 | 參數類型詳見CONSTANT中Callback方法數據類型 |
data | Number | 是 | 容器當前顯示頁面的index |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.1.0+
示例:
window.uexOnload = function(type){
uexWindow.onPluginContainerPageChange= function(opId, dataType, data){
alert("onPluginContainerPageChange: " + data );
}
}
cbSlidingWindowState 獲取側滑窗口顯示情況的回調方法
uexWindow.cbSlidingWindowState(state)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
state | Number | 是 | 返回的顯示情況,0:左側菜單顯示;1:主界面顯示;2:右側菜單顯示 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
uexOnload 網頁加載完成時的回調方法
window.uexOnload(type)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
type | Number | 是 | 當前加載完畢View的類型。0:主窗口或者浮動窗口(即代表自己);1:上個slibing;2:下個slibing |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例
window.uexOnload = function(type){
}
onSlipedUpward 上滑的監(jiān)聽方法,內容超過一屏時有效
uexWindow.onSlipedUpward()
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例
uexWindow.onSlipedUpward = function(){
console.log('onSlipedUpward');
}
onSlipedDownward 下滑的監(jiān)聽方法,內容超過一屏時有效
uexWindow.onSlipedDownward()
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例
類似onSlipedUpward
onSlipedUpEdge 滑到頂部的監(jiān)聽方法,內容超過一屏時有效
uexWindow.onSlipedUpEdge()
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例
類似onSlipedUpward
onSlipedDownEdge 滑到底部的監(jiān)聽方法,內容超過一屏時有效
uexWindow.onSlipedDownEdge()
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例
類似onSlipedUpward
onAnimationFinish 動畫執(zhí)行完成的監(jiān)聽方法,只對浮動窗口有效
uexWindow.onAnimationFinish()
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.onAnimationFinish = onAnimationFinish;
function onAnimationFinish() {
uexWindow.alert("應用名稱","動畫完畢","ok");
}
onSetWindowFrameFinish 當前窗口位置移動完成的監(jiān)聽方法
uexWindow.onSetWindowFrameFinish()
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
window.uexOnload = function(type){
uexWindow.onSetWindowFrameFinish = onSetWindowFrameFinish;
}
function onSetWindowFrameFinish(){
alert('移動完成!');
}
onSwipeRight 向右滑動的監(jiān)聽方法
uexWindow.onSwipeRight()
說明:
使用之前需調用setIsSupportSwipeCallback設置當前網頁是否支持滑動,主窗口浮動窗口分別調用之后,onSwipeRight、onSwipeRight左右監(jiān)聽方法才會生效。
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.onSwipeRight = function(){
console.log('onSwipeRight');
}
示例:
參考setIsSupportSwipeCallback
onSwipeLeft 向左滑動的監(jiān)聽方法
uexWindow.onSwipeLeft()
說明:
使用之前需調用setIsSupportSwipeCallback設置當前網頁是否支持滑動,主窗口浮動窗口分別調用之后,onSwipeRight、onSwipeRight左右監(jiān)聽方法才會生效。
參數:
無
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
參考setIsSupportSwipeCallback
onBounceStateChange 彈動狀態(tài)改變的監(jiān)聽方法
uexWindow.onBounceStateChange(type,state)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
type | Number | 是 | 對應的部位值,0:網頁頂端;1:網頁底部 |
state | Number | 是 | 狀態(tài)值,0:滑動事件開始;1:刷新事件開始;2:滑動事件結束 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例
uexWindow.onBounceStateChange = onBounceStateChange;
function onBounceStateChange(type, state){
switch(type) {
case 0:
if (state == 2) {
uexWindow.resetBounceView("0");
}
break;
case 1:
if (state == 2) {
uexWindow.resetBounceView("1");
}
break;
}
}
onGlobalNotification 全局消息的監(jiān)聽方法
uexWindow.onGlobalNotification(data)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
data | String | 是 | 消息,postGlobalNotification發(fā)送的消息數據 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
window.uexOnload = function(type){
uexWindow.onGlobalNotification = onGlobalNotification;
}
function onGlobalNotification(ret){
console.log("index:"+ret);
}
onKeyPressed 按鍵事件的監(jiān)聽方法
uexWindow.onKeyPressed (keyCode)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
keyCode | String | 是 | 按鍵的值,0:返回鍵;1:菜單鍵 |
平臺支持:
Android2.2+
版本支持:
3.0.0+
示例:
uexWindow.onKeyPressed =function(keyCode){
console.log(keyCode);
}
onStateChange 窗口前后臺狀態(tài)變化的監(jiān)聽方法
uexWindow.onStateChange(state)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
state | String | 是 | 狀態(tài)值,0:回到前臺;1:壓入后臺 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
示例:
uexWindow.onStateChange=function(state){
console.log(state);
}
onPopoverLoadFinishInRootWnd 浮動窗口加載完成的監(jiān)聽方法
uexWindow.onPopoverLoadFinishInRootWnd(name,url)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
name | String | 是 | 浮動窗口的名稱 |
url | String | 是 | 浮動窗口的url;當浮動窗口加載的是本地網頁時,url返回網頁的絕對路徑(file:// 開頭)當浮動窗口加載的是網絡上的網頁時,url返回網址(http:// 開頭) |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.0.0+
onSlidingWindowStateChanged 側滑菜單狀態(tài)改變的監(jiān)聽方法
uexWindow.onSlidingWindowStateChanged(state)
參數:
參數名稱 | 參數類型 | 是否必選 | 說明 |
---|---|---|---|
state | Number | 是 | 返回的顯示情況,0:左側菜單顯示;1:主界面顯示;2:右側菜單顯示 |
平臺支持:
Android2.2+
iOS6.0+
版本支持:
3.3.2+
示例:
uexWindow.onSlidingWindowStateChanged=function(state){
console.log(state);
}
WindowAnimationId 窗口動畫Id
基礎動畫
以下為close專用,與9,10,11,12對應:
Circle Zoom 效果 (僅iOS)
Bounce效果(僅iOS)
更多建議: