1. 程式人生 > >plus.webview.create( url, id, styles, extras )參數及說明

plus.webview.create( url, id, styles, extras )參數及說明

andro 視頻 ring 調用 改變 path ebs 字符串類 default

plus.webview.create(
    "xxx.html", //url:String類型,可選,新窗口加載的HTML頁面地址.新打開Webview窗口要加載的HTML頁面地址,可支持本地地址和網絡地址.
    "xxx", //id:String類型,可選,新窗口的標識.窗口標識可用於在其它頁面中通過getWebviewById來查找指定的窗口,為了保持窗口標識的唯一性,應該避免使用相同的標識來創建多個Webview窗口.如果傳入無效的字符串則使用url參數作為WebviewObject窗口的id值.
    { //styles: WebviewStyles類型,可選,創建Webview窗口的樣式(如窗口寬、高、位置等信息)
width: 100%, //String類型,窗口的寬度.支持百分比、像素值,默認為100%.未設置width屬性值時,可同時設置left和right屬性值改變窗口的默認寬度. height: 100%, //String類型,窗口的高度.支持百分比、像素值,默認為100%.當未設置height屬性值時,優先通過top和bottom屬性值來計算窗口的高度. left: 0px, //String類型,窗口水平向右的偏移量.支持百分比,像素值,默認值為0px.未設置left屬性值,優先通過right和width屬性值來計算窗口的left位置. right:
0px, //String類型,窗口水平向左的偏移量.支持百分比、像素值,默認無值(根據left和width屬性值來自動計算).當設置了left和width值時,忽略此屬性值;當未設置width值時,可通過left和bottom屬性值來確定窗口的寬度. top: 0px, //String類型,窗口垂直向下的偏移量.支持百分比、像素值,默認值為0px.未設置top屬性值時,優先通過bottom和height屬性值來計算窗口的top位置. bottom: 0px, //String類型,窗口垂直向上的偏移量.支持百分比,像素值,默認值無值(根據top和height屬性值來自動計算).當同時設置了top和height值時,忽略此屬性值;當未設置height值時,可通過top和bottom屬性值來確定窗口的高度.
zindex: 0 //Number類型,窗口的堆疊順序值.擁有更高堆疊順序的窗口總是會處於堆疊順序較低的窗口的前面,擁有相同堆疊順序的窗口後調用show方法則在前面. margin: auto, //String類型,窗口的邊距.用於定位窗口的位置.auto:居中.若設置了left、right、top、bottom則對應的邊距值失效. background: ‘‘, //String類型,窗口的背景顏色.設置background為顏色值,窗口為獨占模式顯示(占整個屏幕區域).設置background為"transparent",則表示窗口背景透明,為非獨占模式. opacity: 1, //Number類型,窗口的不透明度.0為全透明,1為不透明,默認值為1,即不透明.安卓4.0以下不支持. mask: none, //String類型,窗口的遮罩.用於設置Webview窗口的遮罩層樣式,遮罩層會覆蓋Webview中所有內容,包括子webview,並且截獲webview的所有觸屏事件,此時Webview窗口的點擊操作會觸發maskClick事件.字符串類型,可取值:rgba格式字符串,定義純色遮罩層樣式,如"rgba(0,0,0,0.5)",表示黑色半透明; "none",表示不使用遮罩層; 默認值為"none",即無遮罩層. bounce: vertical, //String類型,窗口遇到邊框是否有反彈效果.none:沒有反彈效果.vertical:垂直方向有反彈效果.horizontal:水平方向有反彈效果.all:垂直和水平方向都有反彈效果.默認:none. bounceBackground: ‘‘, //String類型,窗口回彈效果區域的背景.窗口回彈效果區域背景可支持顏色值或圖片.顏色值格式:"#RRGGBB".背景格式:"url(%image path%)",例如:"url(./icon.png)",圖片采用平鋪模式繪制.安卓不支持. popGesture: close, //String類型,窗口的側滑返回功能.none:無側滑返回功能.close:側滑返回關閉Webview窗口.hide:側滑返回隱藏webview窗口.安卓5+環境不支持. scrollIndicator: none, //String類型,窗口是否顯示滾動條.all:垂直和水平滾動條都顯示.vertical:僅顯示垂直滾動條.horizontal:僅顯示水平滾動條.none:垂直和水平滾動條都不顯示.默認:all.註意:顯示滾動條的前提條件是窗口中的內容超過窗口顯示的寬或高. scrollsToTop: true, //Boolean類型,點擊設備的狀態欄時是否滾動返回至頂部.true:點擊設備的狀態欄可以滾動返回至頂部.false:點擊設備的狀態欄不可以.默認:true.在iPhone上有且只有一個Webview窗口的scrollsToTop屬性值為true時才生效,所以在顯示和關閉Webview窗口時需動態更新所有Webview的scrollsToTop值,已確保此功能生效.安卓不支持. scalable: false, //Boolean類型,窗口是否可縮放.true:用戶可通過雙指操作放大或縮小頁面,此時html頁面可通過meta節點設置"name="viewport" content="user-scalable=no""來限制頁面不可縮放.false:用戶不可通過雙指操作放大或縮小頁面,即使頁面中的meta節點也無法開啟可縮放功能.默認:false. softinputMode: ‘‘, //String類型,彈出系統軟鍵盤模式.adjustPan:彈出軟鍵盤時Webview窗口自動上移,以保證當前輸入框可見.adjustResize:自動調整Webview窗口大小(屏幕區域減去軟鍵盤區域),同時自動滾動Webview保證輸入框可見.默認:adjustPan.安卓不支持. statusbar: { background: #fff }, //WebviewStatusbarStyles類型,窗口狀態欄樣式.僅在應用設置為沈浸式狀態欄樣式下有效,設置此屬性後將自動保留系統狀態欄區域不被Webview窗口占用(即Webview窗口非沈浸式樣式顯示). subNViews: [ //Array[ WebviewSubNViewStyles ]類型,定義窗口的原生子View控件.數組類型,可通過配置項設置原生子View控件,每個配置項對應添加一個原生子View控件.通過Webview窗口的getSubNViews()方法可獲取原生子View控件對象數組.http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewSubNViewStyles { id: ‘‘, //String類型,原生子View控件的標識.可通過plus.nativeObj.View.getViewById(id)方法傳入此標識來獲取子View控件對象. type: ‘‘, //String類型,原生子View控件類型.NView:原生子View控件(plus.nativeObj.NView).ImageSlider:原生圖片輪播控件(plus.nativeObj.ImageSlider).默認:NView. styles: { //ViewStyles類型,原生子View控件的樣式.可設置原生控件的位置、大小等信息. backgroundColor: ‘‘, //String類型,區域背景顏色.顏色值格式為"#RRGGBB".默認值為透明區域. bottom: ‘‘, //String類型,View控件垂直向上的偏移量.現對於父容器底部的距離,可取值:像素值,如"100px";百分比,如"10%",相對於父容器的高度,如果沒有父容器則相對於屏幕高度.當設置了top和height值時,忽略此屬性值;未設置height值時,可通過top和bottom屬性值來確定View控件的高度. dock: ‘‘, //String類型,View控件的停靠方式.當Webview窗口添加到另外一個窗口中時,停靠方式才會生效,采用停靠方式添加會導致原Webview窗口自動調整其大小避免其內容被子窗口蓋住.top:控件停靠則頁面頂部;bottom:底部;right:右側;left:控件停靠在頁面左側.默認:top. height: ‘‘, //String類型,區域的高度.可取值:像素值,如"100px";百分比,如"10%",相對於父容器的高度,如果沒有父容器則相對於屏幕高度;內容自適應,如"wrap_content",根據內容計算控件的高度.默認值為"100%". width: ‘‘, //String類型,區域的寬度.可取值:像素值,如"100px";百分比,如"10%",相對於父控件的寬度. top: ‘‘, //String類型,View控件左上角的垂直偏移量.可取值:像素值,如"100px";百分比,如"10%",相對於父控件的高度;自動計算,如"auto",根據height值自動計算,相對於父控件垂直居中. left: ‘‘, //String類型,區域左上角的水平偏移量.可取值:像素值,如"100px";百分比,如"10%",相對於父控件的寬度;自動計算,如"auto",根據width值自動計算,相對於父控件水平居中.默認:"0px". opacity: ‘‘, //Number類型,View控件的不透明度.取值範圍為0-1,0為全透明,1為不透明,默認值為1,即不透明. position: ‘‘, //String類型,View控件的排版方式.當Webview窗口添加到另外一個窗口中時,排版位置才會生效,排版位置決定子窗口在父窗口中的定位方式.static:控件在頁面中正常定位,如果頁面存在滾動條則隨窗口內容滾動.absolute:控件在頁面中絕對定位,如果頁面存在滾動條不隨窗口內容滾動.dock:控件在頁面中停靠,停靠的位置由dock屬性值決定.默認:absolute. statusbar: { //ViewStatusbarStyles類型,View控件的狀態欄樣式.僅在應用設置為沈浸式狀態欄樣式下有效,設置此屬性後將自動保留系統狀態欄區域不被View控件占用(即View控件非沈浸式樣式顯示). background: ‘‘, //String類型,系統狀態欄區域背景顏色.顏色值格式為"#RRGGBB",如"#FF0000"表示為紅色背景,默認值為應用manifest.json中plus->statusbar->background屬性配置的值. } } } ], titleNView: { //WebviewTitleNViewStyles類型,定義窗口的標題欄控件樣式.設置此屬性值則表明創建Webview窗口的標題欄控件,並可通過其屬性值設置背景顏色、文本內容、文本顏色等.通過Webview窗口的getTitleNView()方法可獲取標題欄控件對象.http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewTitleNViewStyles autoBackButton: ‘‘, //Boolean類型,標題欄控件是否顯示左側返回按鈕.true:顯示返回按鈕.false:不顯示返回按鈕.默認:false.返回按鈕的顏色為窗口標題文字顏色,按下時顏色自動調整透明度為0.3.點擊返回按鈕的邏輯與按下系統返回鍵邏輯一致. backgroundColor: ‘‘, //String類型,標題欄控件的背景顏色.顏色值格式為"#RRGGBB",如"#FF0000"表示為紅色背景,默認值為"#F7F7F7". buttons: [ //Array[ WebviewCustomButtonStyles ]類型,標題欄上的自定義按鈕.建的自定義按鈕數目不限制,實際應用中建議最多設置4個按鈕(包括左側返回按鈕). { color: ‘‘, //String類型,按鈕上文字顏色.可取值:"#RRGGBB"格式字符串,"rgba(R,G,B,A)".默認值為窗口標題欄控件的標題文字顏色. colorPressed: ‘‘, //String類型,按下狀態按鈕文字顏色.String類型,按鈕上文字顏色.可取值:"#RRGGBB"格式字符串,"rgba(R,G,B,A)".默認值為color屬性值自動調整透明度為0.3. float: ‘‘, //String類型,按鈕在標題欄上的顯示位置.right:在標題欄中靠右排列顯示.left:在標題欄中靠左側排列顯示(在返回鍵後). 默認:right. fontWeight: ‘‘, //String類型,按鈕上文字的粗細.normal:標準字體.bold:加粗字體.默認:normal. fontSize: ‘‘, //String類型,按鈕上文字大小.可取值:字體高度像素值,數字加"px"格式字符串. fontSrc: ‘‘, //String類型,按鈕上文字使用的字體文件路徑.相對路徑:相對於當前頁面的host位置,如"a.jpg",註意當前頁面為網絡地址則不支持.絕對路徑:如Android平臺"/sdcard/logo.png",此類路徑通常通過其它5+ API獲取的.擴展相對路徑URL(RelativeURL):以"_"開頭的相對路徑,如"_www/a.jpg".本地路徑URL:以"file://"開頭,後面跟隨系統絕對路徑. onclick: ‘‘, //WebviewCustomButtonCallback類型,按鈕點擊後觸發的回調函數.回調函數中將返回此JSON對象 text: ‘‘ //String類型,按鈕上顯示的文字.推薦使用一個字符,超過一個字符可能無法正常顯示,使用字體圖標時unicode字符表示必須‘\u‘開頭,如"\ue123"(註意不能寫成"\e123"). } ], coverage: ‘‘, //String類型,標題欄控件變化作用範圍.僅在type值為transparent時有效,頁面滾動時標題欄背景透明度將發生變化.當頁面滾動到指定偏移量時標題欄背景變為完全不透明.支持百分比、像素值,默認為‘132px‘. progress: { //WebviewProgressStyles類型,標題欄控件的進度條樣式.設置此屬性則在標題欄控件的底部顯示進度條,可配置進度條顏色值即高度.設置此屬性值為undefined或null則隱藏進度條.默認不顯示底部進度條. color: ‘‘, //String類型,進度條顏色.可取值:"#RRGGBB"格式字符串,如"#FF0000"表示繪制紅色分割線;"rgba(R,G,B,A)",其中R/G/B分別代表紅色值/綠色值/藍色值,正整數類型,取值範圍為0-255,A為透明度,浮點數類型,取值範圍為0-1(0為全透明,1為不透明),如"rgba(255,0,0,0.5)",表示紅色半透明.默認值為"#00FF00". height: ‘‘, //String類型,進度條高度.可取值:像素值(邏輯像素),支持小數點,如"1px"表示1像素高;百分比,如"1%",相對於標題欄控件的高度.默認值為"2px". }, splitLine: { //WebviewSplitLineStyles類型,標題欄控件的底部分割線.設置此屬性則在標題欄控件的底部顯示分割線,可配置顏色值及高度.設置此屬性值為undefined或null則隱藏分割線.默認不顯示底部分割線. color: ‘‘, //String類型,進度條顏色.可取值:"#RRGGBB"格式字符串,如"#FF0000"表示繪制紅色分割線;"rgba(R,G,B,A)",其中R/G/B分別代表紅色值/綠色值/藍色值,正整數類型,取值範圍為0-255,A為透明度,浮點數類型,取值範圍為0-1(0為全透明,1為不透明),如"rgba(255,0,0,0.5)",表示紅色半透明.默認值為"#cccccc". height: ‘‘, //String類型,底部分割線高度.可取值:像素值(邏輯像素),支持小數點,如"1px"表示1像素高;百分比,如"1%",相對於標題欄控件的高度.默認值為"1px". }, titleColor: ‘‘, //String類型,標題欄控件的標題文字顏色.顏色值格式為"#RRGGBB",如"#FF0000"表示標題文字顏色為紅色,默認值為"#000000". titleOverflow: ‘‘, //String類型,標題欄控件的標題文字超出顯示區域時處理方式.clip:超出顯示區域時內容裁剪;ellipsis:超出顯示區域時尾部顯示省略標記(...).默認:ellipsis. titleText: ‘‘, //String類型,標題欄控件的標題文字內容.在標題欄控件居中(水平和垂直)顯示,左右邊距為88px,如果文本過長則尾部裁剪(加三個點"...")顯示.當不設置titleText屬性或屬性值為undefined/null時,使用當前Webview窗口加載頁面的標題,並自動同步更新頁面的標題. titleSize: ‘‘, //String類型,標題欄控件的標題文字字體大小.字體大小單位為像素,如"20px"表示字體大小為20像素,默認值為17像素. type: ‘‘ //String類型,標題欄控件樣式.default:默認樣式,頂部停靠顯示,擠壓Webview頁面內容顯示區域;transparent:透明樣式,頂部沈浸式顯示覆蓋Webview頁面內容,標題欄上內容(除按鈕外)全部透明,當頁面滾動時透明度逐漸變化,直到不透明顯示.默認:default. }, transition: { //WebviewTransition類型,窗口定義窗口變換的動畫效果.http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewTransition property: all, //String類型,產生變換效果的屬性.默認值為"all",暫不支持其它值. duration: 0, //String類型,變換持續的時間.默認值為0,即無動畫效果. timingfunction: ease-in-out, //String類型,窗口變換效果.linear:勻速變化.ease-in:勻加速變化,逐漸變快的動畫效果.ease-out:勻減速變化,逐漸變慢的動畫效果.ease-in-out:先加速後減速變化,先變快後變慢的動畫效果.默認:ease-in-out. }, transform: { //WebviewTransform類型,窗口定義窗口變形效果.http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewTransform property: all, //String類型,產生變換效果的屬性.默認值為"all",暫不支持其它值. duration: 0, //String類型,變換持續的時間.默認值為0,即無動畫效果. timingfunction: ease-in-out, //String類型,窗口變換效果.linear:勻速變化.ease-in:勻加速變化,逐漸變快的動畫效果.ease-out:勻減速變化,逐漸變慢的動畫效果.ease-in-out:先加速後減速變化,先變快後變慢的動畫效果.默認:ease-in-out. }, position: ‘‘, //WebviewPosition類型,Webview窗口的排版位置.當Webview窗口添加到另外一個窗口中時,排版位置才會生效,排版位置決定子窗口在父窗口中的定位方式.static:控件在頁面中正常定位,如果頁面存在滾動條則隨窗口內容滾動.absolute:控件在頁面中絕對定位,如果頁面存在滾動條不隨窗口內容滾動.dock:控件在頁面中停靠,停靠的位置由dock屬性值決定.默認:absolute. errorPage: none, //String類型,窗口加載錯誤時跳轉的頁面地址.當Webview窗口無法加載指定的url地址時(如本地頁面不存,或者無法訪問的網絡地址),此時會自動跳轉到指定的錯誤頁面地址(僅支持本地頁面地址).設置為"none"則關閉跳轉到錯誤頁面功能,此時頁面顯示Webview默認的錯誤頁面內容.默認使用5+ Runtime內置的錯誤頁面. additionalHttpHeaders: {}, //JSON類型,窗口加載頁面時額外添加的HTTP請求頭數據,內容按照http協議寫. animationOptimization: auto, //String類型,窗口動畫優化方式.auto:如果窗口中存在titleNView或subNViews,窗口動畫時真實Webview控件從動畫窗口中移除加速.none:窗口動畫不使用優化.默認:auto. cachemode: default, //String類型,窗口的緩存模式.default:根據cache-control決定是否使用緩存數據,如果存在緩存並且沒有過期則使用本地緩存資源,否則從網絡獲取.cacheElseNetwork:只要存在緩存(即使過期)數據則使用,否則從網絡獲取.noCache:不使用緩存數據,全部從網絡獲取.cacheOnly:僅使用緩存數據,不從網絡獲取(註:如果沒有緩存數據則會導致加載失敗).默認:default. backButtonAutoControl: close, //String類型,Webview窗口自動處理返回鍵邏輯.hide:隱藏Webview窗口,隱藏動畫與上一次調用顯示時設置的動畫類型相對應(如"slide-in-right"對應的關閉動畫為"slid-out-right").close:關閉Webview窗口,關閉動畫與上一次調用顯示時設置的動畫類型相對應.none:不做操作,將返回鍵傳遞給下一Webview窗口處理.quit:退出應用. blockNetworkImage: false, //Boolean類型,是否阻塞網絡圖片的加載.true:阻塞.false:不阻塞.默認:false.阻塞後Webview窗口將不加載頁面中使用的所有網絡圖片,可通過Webview窗口對象的setBlockNetWorkImage()方法動態修改此狀態.iOS不支持. decelerationRate: 0.989, //Number類型,窗口內容停止滑動的減速度.當Webview加載的內容超過其高度時,可以拖拽滑動內容,decelerationRate屬性控制手指松開後頁面滑動的速度.設置值越大手指松開後的滑動速度越快(滑動距離越長,其值域範圍為0.0-1.0,默認值為0.989.安卓不支持. dock: top, //WebviewDock類型,窗口的停靠方式.當Webview窗口添加到另外一個窗口中時,停靠方式才會生效,采用停靠方式添加會導致原Webview窗口自動調整其大小避免其內容被子窗口蓋住.top:控件停靠則頁面頂部;bottom:底部;right:右側;left:控件停靠在頁面左側.http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewDock replacewebapi: { //WebviewReplaceWebApiOptions類型,替換H5標準API.http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewReplaceWebApiOptions geolocation: "auto" //String類型,替換H5標準定位接口(navigator.geolocation.*).由於網絡原因,在部分手機上可能無法調用標準H5定位接口(navigator.geolocation.*)獲取定位數據,此時可以通過此屬性配置使用原生定位模塊替換標準H5定位接口.alldevice:在所有設備上替換標準H5定位接口(navigator.geolocation.*).auto:自動替換H5標準定位接口,僅在調用標準H5定位接口無法獲取數據的設備上替換.none:不替換H5標準定位接口(navigator.geolocation.*).默認:auto.註意:替換H5標準定位接口,會導致頁面加載速度延遲100ms左右,推薦使用"auto"模式. }, hardwareAccelerated: ‘‘, //Boolean類型,窗口是否開啟硬件加速.true:開啟.false:不開啟.默認:5+ Runtime會根據設備實際支持情況自動選擇是否開啟硬件加速,可以通過plus.webview.defaultHardwareAccelerated()方法獲取默認Webview是否開啟硬件加速.由於不同設備對硬件加速的支持情況存在差異,開啟硬件加速能加速HTML頁面的渲染,但也會消耗更多的系統資源,從而導致在部分設備上可能出現閃屏、發虛、分塊渲染等問題,因此在特定設備的特定頁面如果出現以上問題需要手動設置關閉硬件加速來避免.iOS不支持. kernel: UIWebview, //String類型,窗口使用的內核.WKWebview:在iOS8.0及以上系統使用WKWebview內核,低版本下仍然使用UIWebview內核.UIWebview:在所有版本上都使用UIWebview內核.默認:UIWebview.WKWebview內核的優勢是: 1.滾動時懶加載的圖片也可以實時渲染,UIWebview在滾動停止後才能渲染;2.WKWebview的video支持AirPlay.但WKWebview也有些限制和不足,目前已知的問題有:1.不支持跨域設置cookie,即plus.navigator.setCookie()API無法使用;2.本地的HTML頁面中的XHR不支持跨域訪問,需使用plus.net.XMLHttpRequest來替換;3.不支持使用WebSQL,需使用indexDB來替換;4.不支持js原生混淆功能,需使用前端js混淆來替換;5.內存不足時會白屏.首頁的Webview的kernel在manifest中配置(plus->kernel->ios).安卓不支持. plusrequire: normal, //String類型,控制Webview註入5+ API時機.ahead:盡量提前,攔截頁面中網絡js請求實現提前註入,如果沒有攔截到js請求則在頁面loaded時註入.normal:頁面loaded時註入.later:較晚在註入,在loaded事件發生後2s再註入,plusready事件同樣延遲.none:不註入,頁面無法調用5+ API,不觸發plusready事件.默認:normal. render: onscreen, //String類型,窗口渲染模式.onscreen:Webview窗口在屏幕區可見時渲染,不可見時不進行渲染,此時能減少內存使用量.always:Webview在任何時候都渲染,在內存較大的設備上使用,被遮擋的窗口在此中模式下顯示的時候會有更流暢的效果.默認:onscreen.iOS不支持. videoFullscreen: auto, //String類型,視頻全屏播放時的顯示方向.auto:自動適配,如果當前頁面豎屏,則豎屏顯示.如果當前頁面橫盤顯示,則橫屏.如果當前頁面自動感應,則自動感應橫豎屏切換.portrait-primary:豎屏正方向.portrait-secondary:豎屏反方向,屏幕正方向按順時針旋轉180°.landscape-primary:橫屏正方向,屏幕正方向按順時針旋轉90°.landscape-secondary:橫屏方向,屏幕正方向按順時針旋轉270°.landscape:橫屏正方向或反方向,根據設備重力感應器自動調整.默認:auto.iOS不支持. }, { //extras:JSON對象,可選,創建Webview窗口的額外擴展參數.值為JSON類型,設置擴展參數後可以直接通過Webview的點(".")操作符獲取擴展參數屬性值,如:var w=plus.webview.create(‘url.html‘,‘id‘,{},{preload:‘preload webview‘});//可直接通過以下方法獲取preload值console.log(w.preload);//輸出值為"preload webview". } );

plus.webview.create( url, id, styles, extras )參數及說明