1、知識點
Webview模塊管理應用窗口界面,實現多窗口的邏輯控制管理操做。經過plus.webview可獲取應用界面管理對象。javascript
一、方法
1.一、all: 獲取全部Webview窗口
Array[WebviewObject] plus.webview.all();css
說明:獲取應用中已建立的全部Webview窗口,包括全部未顯示的Webview窗口。 返回WebviewObject對象在數組中按建立的前後順序排列,即數組中第一個WebviewObject對象用是加載應用的入口頁面。html
返回值:Array[ WebviewObject] : 應用中建立的全部Webview窗口對象數組。java
示例:web
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- // 獲取全部Webview窗口
- var wvs=plus.webview.all();
- for(var i=0;i<wvs.length;i++){
- console.log("webview"+i+": "+wvs[i].getURL());
- }
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- </script>
- </head>
- <body>
- 獲取全部Webview窗口
- </body>
- </html>
1.二、close: 關閉Webview窗口
void plus.webview.close( id_wvobj, aniClose, duration, extras );數組
說明:關閉已經打開的Webview窗口,需先獲取窗口對象或窗口id,並可指定關閉窗口的動畫及動畫持續時間。網絡
參數:app
id_wvobj: ( String | WebviewObject ) 必選 要關閉Webview窗口id或窗口對象。若操做窗口對象已經關閉,則無任何效果。 使用窗口id時,則查找對應id的窗口,若是有多個相同id的窗口則操做最早打開的窗口,若沒有查找到對應id的WebviewObject對象,則無任何效果。ide
aniClose: ( AnimationTypeClose ) 可選 關閉Webview窗口的動畫效果。若是沒有指定關閉窗口動畫,則使用默認值「auto」,即便用顯示時設置的窗口動畫相對應的關閉動畫。函數
duration: ( Number ) 可選 關閉Webview窗口動畫的持續時間。單位爲ms,若是沒有設置則使用顯示窗口動畫時間。
extras: ( WebviewExtraOptions) 可選 關閉Webview窗口擴展參數。可用於指定Webview窗口動畫是否使用圖片加速。
返回值:void : 無
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- // 關閉自身窗口
- function closeme(){
- var ws=plus.webview.currentWebview();
- plus.webview.close(ws);
- }
- </script>
- </head>
- <body>
- 關閉Webview窗口<br/>
- <button onclick="closeme()">close</button>
- </body>
- </html>
1.三、create: 建立新的Webview窗口
WebviewObject plus.webview.create( url, id, styles, extras );
說明:建立Webview窗口,用於加載新的HTML頁面,可經過styles設置Webview窗口的樣式,建立完成後須要調用show方法才能將Webview窗口顯示出來。
參數:
url: ( String ) 可選 新窗口加載的HTML頁面地址。新打開Webview窗口要加載的HTML頁面地址,可支持本地地址和網絡地址。
id: ( String ) 可選 新窗口的標識。窗口標識可用於在其它頁面中經過getWebviewById來查找指定的窗口,爲了保持窗口標識的惟一性,應該避免使用相同的標識來建立多個Webview窗口。 若是傳入無效的字符串則使用url參數做爲WebviewObject窗口的id值。
styles: ( WebviewStyles) 可選 建立Webview窗口的樣式(如窗口寬、高、位置等信息)
extras: ( JSON ) 可選 建立Webview窗口的額外擴展參數。值爲JSON類型,設置擴展參數後能夠直接經過Webview的點(「.」)操做符獲取擴展參數屬性值,如: var w=plus.webview.create('url.html','id',{},{preload:"preload webview"}); // 可直接經過如下方法獲取preload值 console.log(w.preload); // 輸出值爲「preload webview」
返回值:WebviewObject : Webview窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- // 建立並顯示新窗口
- function create(){
- var w = plus.webview.create( "http://weibo.com/dhnetwork" );
- w.show(); // 顯示窗口
- }
- </script>
- </head>
- <body>
- 建立新的Webview窗口<br/>
- <button onclick="create()">Create</button>
- </body>
- </html>
1.四、currentWebview: 獲取當前窗口的WebviewObject對象
WebviewObject plus.webview.currentWebview();
說明:獲取當前頁面所屬的Webview窗口對象。
返回值:WebviewObject : Webview窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- var ws=plus.webview.currentWebview();
- console.log( "當前Webview窗口:"+ws.getURL() );
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- </script>
- </head>
- <body>
- 獲取自身Webview窗口
- </body>
- </html>
1.五、getWebviewById: 查找指定標識的WebviewObject窗口
WebviewObject plus.webview.getWebviewById( id );
說明:在已建立的窗口列表中查找指定標識的Webview窗口並返回。 若沒有查找到指定標識的窗口則返回null,若存在多個相同標識的Webview窗口,則返回第一個建立的Webview窗口。 若是要獲取應用入口頁面所屬的Webview窗口,其標識爲應用的%APPID%,可經過plus.runtime.appid獲取。
參數:id: ( String ) 必選 要查找的Webview窗口標識
返回值:WebviewObject : WebviewObject窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- // 查找應用首頁窗口對象
- var h=plus.webview.getWebviewById( plus.runtime.appid );
- console.log( "應用首頁Webview窗口:"+h.getURL() );
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- </script>
- </head>
- <body>
- 查找指定標識的窗口
- </body>
- </html>
1.六、getLaunchWebview: 獲取應用首頁WebviewObject窗口對象
WebviewObject plus.webview.getLaunchWebview();
返回值:WebviewObject : WebviewObject窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- // 獲取應用首頁窗口對象
- var h=plus.webview.getLaunchWebview();
- console.log( "應用首頁Webview窗口:"+h.getURL() );
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- </script>
- </head>
- <body>
- 獲取應用首頁WebviewObject窗口對象
- </body>
- </html>
1.七、getTopWebview: 獲取應用顯示棧頂的WebviewObject窗口對象
WebviewObject plus.webview.getTopWebview();
返回值:WebviewObject : WebviewObject窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- // 獲取應用首頁窗口對象
- var h=plus.webview.getTopWebview();
- console.log( "應用顯示棧頂的Webview窗口:"+h.getURL() );
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- </script>
- </head>
- <body>
- 獲取應用顯示棧頂的WebviewObject窗口對象
- </body>
- </html>
1.八、hide: 隱藏Webview窗口
void plus.webview.hide( id_wvobj, aniHide, duration, extras );
說明:根據指定的WebviewObject對象或id隱藏Webview窗口,使得窗口不可見。
參數:
id_wvobj: ( String | WebviewObject ) 必選 要隱藏的Webview窗口id或窗口對象。使用窗口對象時,若窗口對象已經隱藏,則無任何效果。 使用窗口id時,則查找對應id的窗口,若是有多個相同id的窗口則操做最早打開的,若沒有查找到對應id的WebviewObject對象,則無任何效果。
aniHide: ( AnimationTypeClose) 可選 隱藏Webview窗口的動畫效果。若是沒有指定窗口動畫,則使用默認動畫效果「none」。
duration: ( Number ) 可選 隱藏Webview窗口動畫的持續時間。單位爲ms,若是沒有設置則使用默認窗口動畫時間。
extras: ( WebviewExtraOptions) 可選 隱藏Webview窗口擴展參數。可用於指定Webview窗口動畫是否使用圖片加速。
返回值:void : 無
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- // 隱藏自身窗口
- function hideeme(){
- plus.webview.hide( plus.webview.currentWebview() );
- }
- </script>
- </head>
- <body>
- 隱藏Webview窗口<br/>
- <button onclick="hideeme()">Hide</button>
- </body>
- </html>
1.九、open: 建立並打開Webview窗口
WebviewObject plus.webview.open( url, id, styles, aniShow, duration, showedCB );
說明:建立並顯示Webview窗口,用於加載新的HTML頁面,可經過styles設置Webview窗口的樣式,建立完成後自動將Webview窗口顯示出來。
參數:
url: ( String ) 可選 打開窗口加載的HTML頁面地址。新打開Webview窗口要加載的HTML頁面地址,可支持本地地址和網絡地址。
id: ( String ) 可選 打開窗口的標識。窗口標識可用於在其它頁面中經過getWebviewById來查找指定的窗口,爲了保持窗口標識的惟一性,應該避免使用相同的標識來建立多個Webview窗口。 若是傳入無效的字符串則使用url參數做爲WebviewObject窗口的id值。
styles: ( WebviewStyles) 可選 建立Webview窗口的樣式(如窗口寬、高、位置等信息)
aniShow: ( AnimationTypeShow) 可選 顯示Webview窗口的動畫效果。若是沒有指定窗口動畫,則使用默認無動畫效果「none」。
duration: ( Number ) 可選 顯示Webview窗口動畫的持續時間。單位爲ms,若是沒有設置則使用默認窗口動畫時間600ms。
showedCB: ( SuccessCallback ) 可選 Webview窗口顯示完成的回調函數。當指定Webview窗口顯示動畫執行完畢時觸發回調函數,窗口無動畫效果(如"none"動畫效果)時也會觸發此回調。
返回值:WebviewObject : WebviewObject窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- // 建立並顯示新窗口
- function openWebview(){
- var w = plus.webview.open( "http://weibo.com/dhnetwork" );
- }
- </script>
- </head>
- <body>
- 打開Webview窗口<br/>
- <button onclick="openWebview()">Open</button>
- </body>
- </html>
1.十、show: 顯示Webview窗口
void plus.webview.show( id_wvobj, aniShow, duration, showedCB, extras );
說明:顯示已建立或隱藏的Webview窗口,需先獲取窗口對象或窗口id,並可指定顯示窗口的動畫及動畫持續時間。
參數:
id_wvobj: ( String | WebviewObject ) 必選 要顯示Webview窗口id或窗口對象。若操做Webview窗口對象顯示,則無任何效果。 使用窗口id時,則查找對應id的窗口,若是有多個相同id的窗口則操做最早建立的窗口,若沒有查找到對應id的WebviewObject對象,則無任何效果。
aniShow: ( AnimationTypeShow) 可選 顯示Webview窗口的動畫效果。若是沒有指定窗口動畫類型,則使用默認值「auto」,即自動選擇上一次顯示窗口的動畫效果,若是以前沒有顯示過,則使用「none」動畫效果。
duration: ( Number ) 可選 顯示Webview窗口動畫的持續時間。單位爲ms,若是沒有設置則使用默認窗口動畫時間600ms。
showedCB: ( SuccessCallback ) 可選 Webview窗口顯示完成的回調函數。當指定Webview窗口顯示動畫執行完畢時觸發回調函數,窗口無動畫效果(如"none"動畫效果)時也會觸發此回調。
extras: ( WebviewExtraOptions) 可選 顯示Webview窗口擴展參數。可用於指定Webview窗口動畫是否使用圖片加速。
返回值:WebviewObject : Webview窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
-
- // 建立並顯示新窗口
- function create(){
- var w = plus.webview.create( "http://weibo.com/dhnetwork" );
- plus.webview.show( w ); // 顯示窗口
- }
- </script>
- </head>
- <body>
- 顯示Webview窗口<br/>
- <button onclick="create()">Create</button>
- </body>
- </html>
1.十一、defaultHardwareAccelerated: 獲取Webview默認是否開啓硬件加速
Boolean plus.webview.defaultHardwareAccelerated();
說明:因爲不一樣設備對硬件加速的支持狀況存在差別,開啓硬件加速能加速HTML頁面的渲染,但也會消耗更多的系統資源,從而致使在部分設備上可能出現閃屏、發虛、分塊渲染等問題, 所以5+ Runtime會根據設備實際支持狀況自動選擇是否開啓硬件加速。 關閉硬件加速則可能會致使Webview頁面沒法支持Video標籤播放視頻等問題,若是在特定狀況下須要調整修改默認開啓硬件加速的行爲,則可經過plus.webview.defaultHardwareAccelerated()方法獲取當前設備默認是否開啓硬件加速狀態,從而決定是否須要顯式開啓或關閉指定Webview的硬件加速功能(經過WebviewStyles的hardwareAccelerated屬性設置)。
返回值:Boolean : Webview窗口默認開啓硬件加速則返回true,不然返回false。
平臺支持:Android - 2.3+ (支持): 返回當前設備默認是否開啓硬件加速。iOS - 5.1+ (不支持): 返回固定值true。
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
-
- // 建立新窗口並設置開啓硬件加速
- function create(){
- var styles={};
- // 在Android5以上設備,若是默認沒有開啓硬件加速,則強制設置開啓
- if(!plus.webview.defaultHardwareAccelerated()&&parseInt(plus.os.version)>=5){
- styles.hardwareAccelerated=true;
- }
- var w = plus.webview.create( "http://weibo.com/dhnetwork", "test", styles );
- plus.webview.show( w ); // 顯示窗口
- }
- </script>
- </head>
- <body>
- 開啓硬件加速顯示Webview窗口<br/>
- <button onclick="create()">Create</button>
- </body>
- </html>
二、對象
AnimationTypeShow: 一組用於定義頁面或控件顯示動畫效果
AnimationTypeClose: 一組用於定義頁面或控件關閉的動畫效果
WebviewObject: Webview窗口對象,用於操做加載HTML頁面的窗口
WebviewBounceStyle: Webview窗口回彈樣式
WebviewDock: 原生控件在窗口中停靠的方式
WebviewEvent: Webview窗口事件
WebviewRefreshStyle: Webview窗口下拉刷新樣式
WebviewPosition: 原生控件在窗口中顯示的位置
WebviewStyles: JSON對象,原生窗口設置參數的對象
WebviewExtraOptions: JSON對象,原生窗口擴展參數
WebviewTransform: 一組用於定義頁面或控件變形的屬性
WebviewTransition: 一組用於定義頁面或控件轉換效果的屬性
WebviewOverrideUrlOptions: 攔截Webview窗口URL請求的屬性
三、回調方法
BounceEventCallback: Webview窗口回彈事件的回調函數
EventCallback: Webview窗口事件的回調函數
PopGestureCallback: Webview窗口側滑事件的回調函數
HistoryQueryCallback: 歷史記錄記錄查詢的回調函數
OverrideUrlLoadingCallback: Webview窗口攔截URL連接跳轉的回調函數
TitleUpdateCallback: Webview窗口加載頁面標題更新的回調函數
SuccessCallback: Webview窗口操做成功回調函數
ErrorCallback: Webview窗口操做失敗回調函數
2、重點
一、 在Webview窗口中添加子窗口
- embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
- plus.webview.currentWebview().append( embed );
- 與下面使用show顯示Webview窗口效果同樣。
- ws=plus.webview.currentWebview();
- embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
- embed.show();
二、appendJsFile和setJsFile
(1)、wobj.appendJsFile( file ):添加Webview窗口預加載js文件
對於一些網絡HTML頁面,在沒法修改HTML頁面時可經過此方法自動加載本地js文件。 當Webview窗口跳轉到新頁面時也會自動加載指定的js執行,添加多個js文件將按照添加的前後順序執行。
- var nw=plus.webview.create("http://weibo.com/dhnetwork");
- nw.appendJsFile("_www/preload.js");
- nw.show();
(2)、void wobj.setJsFile( path ):設置預加載的JS文件
預加載JS文件不須要在HTML頁面中顯式引用,在Webview窗口加載HTML頁面時自動加載,在頁面跳轉時也會自動加載。 設置新的JS文件後將清空以前設置的值。
- ws=plus.webview.currentWebview();
- embed=plus.webview.create("http://weibo.com/dhnetwork");
- embed.setJsFile( "_www/js/preload.js" );
- ws.append(embed);
三、clear:、hide和close
(1)、clear: 清空原生Webview窗口加載的內容
void wobj.clear();
說明:清除原生窗口的內容,用於重置原生窗口加載的內容,清除其加載的歷史記錄等內容。
- embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
- plus.webview.currentWebview().append( embed );
- embed.clear();
(2)、hide: 隱藏Webview窗口
void plus.webview.hide( id_wvobj, aniHide, duration, extras );
說明:根據指定的WebviewObject對象或id隱藏Webview窗口,使得窗口不可見。
plus.webview.hide( plus.webview.currentWebview() );
(3)、hide: 隱藏Webview窗口
void wobj.hide( aniHide, duration, extras );
說明:隱藏Webview窗口可保存已加載HTML頁面的上下文數據,能下降應用使用的系統資源,經過show方法可將隱藏的Webview窗口顯示出來。
- ws=plus.webview.currentWebview();
- embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
- embed.show();
- embed.hide();
(4)、close: 關閉Webview窗口
void plus.webview.close( id_wvobj, aniClose, duration, extras );
說明:關閉已經打開的Webview窗口,需先獲取窗口對象或窗口id,並可指定關閉窗口的動畫及動畫持續時間。
- var ws=plus.webview.currentWebview();
- plus.webview.close(ws);
(5)、close: 關閉Webview窗口
void wobj.close( aniClose, duration, extras );
說明:關閉並銷燬Webview窗口,可設置關閉動畫和動畫持續時間。
- ws=plus.webview.currentWebview();
- ws.close();
四、setPullToRefresh:設置Webview窗口的下拉刷新效果
void wobj.setPullToRefresh( style, refreshCB );
說明:開啓Webview窗口的下拉刷新功能,顯示窗口內置的下拉刷新控件樣式。
參數:
style: ( WebviewRefreshStyle) 必選 Webview窗口下拉刷新樣式參數。可設置窗口內置的下拉刷新控件在各類狀態顯示的文字內容。
refreshCB: ( SuccessCallback ) 必選 Webview窗口下拉刷新事件回調。用戶操做窗口的下拉刷新觸發窗口刷新事件時觸發。
返回值:void : 無
平臺支持:Android - 2.2+ (支持),iOS - ALL (支持)
示例:
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta charset="utf-8"/>
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
- <meta name="HandheldFriendly" content="true"/>
- <meta name="MobileOptimized" content="320"/>
- <title>Webview Example</title>
- <script type="text/javascript" charset="utf-8">
- var ws=null;var list=null;
- // 擴展API加載完畢,如今能夠正常調用擴展API
- function plusReady(){
- ws=plus.webview.currentWebview();
- ws.setPullToRefresh({support:true,
- height:"50px",
- range:"200px",
- contentdown:{
- caption:"下拉能夠刷新"
- },
- contentover:{
- caption:"釋放當即刷新"
- },
- contentrefresh:{
- caption:"正在刷新..."
- }
- },onRefresh);
- plus.nativeUI.toast("下拉能夠刷新");
- }
- // 判斷擴展API是否準備,不然監聽"plusready"事件
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- // DOM構建完成獲取列表元素
- document.addEventListener("DOMContentLoaded",function(){
- list=document.getElementById("list");
- })
- // 刷新頁面
- function onRefresh(){
- setTimeout(function(){
- if(list){
- var item=document.createElement("li");
- item.innerHTML="<span>New Item "+(new Date())+"</span>";
- list.insertBefore(item,list.firstChild);
- }
- ws.endPullToRefresh();
- },2000);
- }
- </script>
- <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8"/>
- <style type="text/css">
- li {
- padding: 1em;
- border-bottom: 1px solid #eaeaea;
- }
- li:active {
- background: #f4f4f4;
- }
- </style>
- </head>
- <body>
- <ul id="list" style="list-style:none;margin:0;padding:0;">
- <li><span>Initializ List Item 1</span></li>
- <li><span>Initializ List Item 2</span></li>
- <li><span>Initializ List Item 3</span></li>
- <li><span>Initializ List Item 4</span></li>
- <li><span>Initializ List Item 5</span></li>
- <li><span>Initializ List Item 6</span></li>
- <li><span>Initializ List Item 7</span></li>
- <li><span>Initializ List Item 8</span></li>
- <li><span>Initializ List Item 9</span></li>
- <li><span>Initializ List Item 10</span></li>
- </ul>
- </body>
- </html>
五、setStyle:設置Webview窗口的樣式
void wobj.setStyle( styles );
說明:更新Webview窗口的樣式,如窗口位置、大小、背景色等。
參數:styles: ( WebviewStyles ) 必選 要設置的窗口樣式
返回值:void : 無
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- var ws=null,embed=null;
- // H5 plus事件處理
- function plusReady(){
- ws=plus.webview.currentWebview();
- embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
- ws.append(embed);
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- // 設置Webview窗口的樣式
- function updateStyle() {
- embed.setStyle( {top:"92px"} );
- }
- </script>
- </head>
- <body>
- 設置Webview窗口的樣式
- <button onclick="updateStyle()">setStyle</button>
- </body>
- </html>
六、setBounce:設置Webview窗口的回彈效果
void wobj.setBounce( style );
說明:開啓窗口回彈效果後,當窗口中展示的內容滾動到頭(頂部或底部)時,再拖拽時窗口總體內容將跟隨移動,鬆開後自動回彈到停靠位置(可經過style設置)。 拖拽窗口內容時頁面顯示Webview窗口的背景色,默認爲透明,此時顯示Webview下面的內容,利用這個特色能夠實現自定下拉刷新特效。
參數:
style: ( WebviewBounceStyle) 必選 Webview窗口回彈樣式參數,可設置窗口的回彈效果支持的方向,自動回彈後停靠的位置等參數。
返回值:void : 無
平臺支持:Android - 2.2+ (支持),iOS - ALL (不支持)
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- var ws=null;
- // H5 plus事件處理
- function plusReady(){
- ws=plus.webview.currentWebview();
- ws.setBounce({position:{top:"100px"},changeoffset:{top:"0px"}});
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- </script>
- </head>
- <body style="text-align:center;">
- <br/><br/><br/>
- 設置Webview窗口的回彈效果<br/><br/><br/>
- *暫僅支持頂部的回彈效果*
- </body>
- </html>
七、setBlockNetworkImage:設置Webview窗口是否阻塞加載頁面中使用的網絡圖片
void wobj.setBlockNetworkImage( block );
參數:block: ( Boolean ) 必選 是否阻塞加載網絡圖片。true表示不加載頁面中使用的網絡圖片,false表示加載也頁面中使用的網絡圖片。
返回值:void : 無
平臺支持:Android - 2.2+ (支持),iOS - ALL (不支持)
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- var ws=null;
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- function blockOpen(){
- // 阻塞網絡圖片模式打開頁面
- var w=plus.webview.create("http://m.csdn.net/","csdn",{blockNetworkImage:true});
- w.addEventListener("loaded",function(){
- w.show("slide-in-right",300);
- // 加載網絡圖片
- w.setBlockNetworkImage(false);
- },false);
- }
- </script>
- </head>
- <body>
- 顯示窗口後再加載網絡圖片<br/>
- <button onclick="blockOpen()">打開頁面</button>
- </body>
- </html>
八、addEventListener:添加事件監聽器
wobj.addEventListener( event, listener, capture );
說明:向Webview窗口添加事件監聽器,當指定的事件發生時,將觸發listener函數的執行。 可屢次調用此方法向Webview添加多個監聽器,當監聽的事件發生時,將按照添加的前後順序執行。
參數:
event: ( WebviewEvent ) 必選 Webview窗口事件類型
listener: ( EventCallback ) 必選 監聽事件發生時執行的回調函數
capture: ( Boolean ) 可選 捕獲事件流順序,暫無效果
返回值:void : 無
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- var nw=null;
- // 監聽Webview窗口事件
- function eventTest() {
- if(nw){return;}
- var w=plus.nativeUI.showWaiting()
- // 打開新窗口
- nw=plus.webview.create( "http://weibo.com/dhnetwork" );
- nw.addEventListener( "loaded", function(){
- console.log( "New Window loaded!" );
- nw.show(); // 顯示窗口
- w.close();
- w=null;
- }, false );
- }
- </script>
- </head>
- <body>
- 添加事件監聽器<br/>
- <button onclick="eventTest()">Event Listener</button>
- </body>
- </html>
九、WebviewEvent:Webview窗口事件
(1)、"close": (String 類型 )Webview窗口關閉事件。經過WebviewObject對象的addEventListener方法添加事件監聽函數,當Webview窗口關閉時觸發此事件,回調函數類型爲EventCallback。
(2)、"dragBounce": (String 類型 )Webview窗口回彈事件。經過WebviewObject對象的setBounce方法開啓回彈效果設置頂部下拉回彈changeoffset屬性後,當用戶向下拖拽窗口時觸發發此事件,回調函數類型爲BounceEventCallback。
(3)、"slideBounce": (String 類型 )Webview窗口回彈事件。經過WebviewObject對象的setBounce方法開啓回彈效果設置左右側側滑slideoffset屬性後,當用戶向左右側拖拽窗口側滑時觸發發此事件,回調函數類型爲BounceEventCallback。
(4)、"error": (String 類型 )Webview窗口加載錯誤事件。經過WebviewObject對象的addEventListener方法添加事件監聽函數,當Webview窗口加載錯誤時觸發此事件,回調函數類型爲EventCallback。
(5)、"hide": (String 類型 )Webview窗口隱藏事件。經過WebviewObject對象的addEventListener方法添加事件監聽函數,當Webview窗口隱藏(窗口動畫完成後)時觸發此事件,回調函數類型爲EventCallback。
(6)、"loading": (String 類型 )Webview窗口頁面開始加載事件。經過WebviewObject對象的addEventListener方法添加事件監聽函數,當Webview窗口開始加載新頁面時觸發此事件,回調函數類型爲EventCallback。
(7)、"loaded": (String 類型 )Webview窗口頁面加載完成事件。經過WebviewObject對象的addEventListener方法添加事件監聽函數,當Webview窗口頁面加載完成時觸發此事件,回調函數類型爲EventCallback。
(8)、"maskClick": (String 類型 )Webview窗口顯示遮罩層時點擊事件。經過WebviewObject對象的addEventListener方法添加事件監聽函數,當Webview窗口經過mask屬性設置顯示遮罩層而且點擊時觸發此事件,回調函數類型爲EventCallback。
(9)、"show": (String 類型 )Webview窗口顯示事件。經過WebviewObject對象的addEventListener方法添加事件監聽函數,當Webview窗口顯示(窗口動畫完成後)時觸發此事件,回調函數類型爲EventCallback。
(10)、"popGesture": (String 類型 )Webview窗口側滑返回事件。經過WebviewObject對象的addEventListener方法添加事件監聽函數,當Webview窗口側滑返回時觸發此事件,回調函數類型爲PopGestureCallback。
(11)、"titleUpdate": (String 類型 )Webview加載頁面標題更新事件。經過WebviewObject對象的addEventListener方法添加事件監聽函數,當Webview窗口加載新頁面更新標題時觸發此事件,回調函數類型爲SuccessCallback。 注意:此事件會先於loaded事件觸發,一般在加載網絡頁面時經過此事件可更快獲取到頁面的標題。
十、事件
(1)、onclose: Webview窗口關閉事件
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- var ws=null,embed=null;
- // H5 plus事件處理
- function plusReady(){
- ws=plus.webview.currentWebview();
- embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
- embed.onclose=embedClose;
- ws.append(embed);
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- // 頁面關閉事件回調函數
- function embedClose(e){
- alert( "Closed!" );
- }
- </script>
- </head>
- <body>
- Webview窗口關閉事件
- <button onclick="embed.close()">onclose</button>
- </body>
- </html>
(2)、onerror: Webview窗口錯誤事件
(3)、onloaded: Webview窗口頁面加載完成事件
(4)、onloading: Webview窗口頁面開始加載事件
1、知識點
Webview模塊管理應用窗口界面,實現多窗口的邏輯控制管理操做。經過plus.webview可獲取應用界面管理對象。
一、方法
1.一、all: 獲取全部Webview窗口
Array[WebviewObject] plus.webview.all();
說明:獲取應用中已建立的全部Webview窗口,包括全部未顯示的Webview窗口。 返回WebviewObject對象在數組中按建立的前後順序排列,即數組中第一個WebviewObject對象用是加載應用的入口頁面。
返回值:Array[ WebviewObject] : 應用中建立的全部Webview窗口對象數組。
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- // 獲取全部Webview窗口
- var wvs=plus.webview.all();
- for(var i=0;i<wvs.length;i++){
- console.log("webview"+i+": "+wvs[i].getURL());
- }
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- </script>
- </head>
- <body>
- 獲取全部Webview窗口
- </body>
- </html>
1.二、close: 關閉Webview窗口
void plus.webview.close( id_wvobj, aniClose, duration, extras );
說明:關閉已經打開的Webview窗口,需先獲取窗口對象或窗口id,並可指定關閉窗口的動畫及動畫持續時間。
參數:
id_wvobj: ( String | WebviewObject ) 必選 要關閉Webview窗口id或窗口對象。若操做窗口對象已經關閉,則無任何效果。 使用窗口id時,則查找對應id的窗口,若是有多個相同id的窗口則操做最早打開的窗口,若沒有查找到對應id的WebviewObject對象,則無任何效果。
aniClose: ( AnimationTypeClose ) 可選 關閉Webview窗口的動畫效果。若是沒有指定關閉窗口動畫,則使用默認值「auto」,即便用顯示時設置的窗口動畫相對應的關閉動畫。
duration: ( Number ) 可選 關閉Webview窗口動畫的持續時間。單位爲ms,若是沒有設置則使用顯示窗口動畫時間。
extras: ( WebviewExtraOptions) 可選 關閉Webview窗口擴展參數。可用於指定Webview窗口動畫是否使用圖片加速。
返回值:void : 無
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- // 關閉自身窗口
- function closeme(){
- var ws=plus.webview.currentWebview();
- plus.webview.close(ws);
- }
- </script>
- </head>
- <body>
- 關閉Webview窗口<br/>
- <button onclick="closeme()">close</button>
- </body>
- </html>
1.三、create: 建立新的Webview窗口
WebviewObject plus.webview.create( url, id, styles, extras );
說明:建立Webview窗口,用於加載新的HTML頁面,可經過styles設置Webview窗口的樣式,建立完成後須要調用show方法才能將Webview窗口顯示出來。
參數:
url: ( String ) 可選 新窗口加載的HTML頁面地址。新打開Webview窗口要加載的HTML頁面地址,可支持本地地址和網絡地址。
id: ( String ) 可選 新窗口的標識。窗口標識可用於在其它頁面中經過getWebviewById來查找指定的窗口,爲了保持窗口標識的惟一性,應該避免使用相同的標識來建立多個Webview窗口。 若是傳入無效的字符串則使用url參數做爲WebviewObject窗口的id值。
styles: ( WebviewStyles) 可選 建立Webview窗口的樣式(如窗口寬、高、位置等信息)
extras: ( JSON ) 可選 建立Webview窗口的額外擴展參數。值爲JSON類型,設置擴展參數後能夠直接經過Webview的點(「.」)操做符獲取擴展參數屬性值,如: var w=plus.webview.create('url.html','id',{},{preload:"preload webview"}); // 可直接經過如下方法獲取preload值 console.log(w.preload); // 輸出值爲「preload webview」
返回值:WebviewObject : Webview窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- // 建立並顯示新窗口
- function create(){
- var w = plus.webview.create( "http://weibo.com/dhnetwork" );
- w.show(); // 顯示窗口
- }
- </script>
- </head>
- <body>
- 建立新的Webview窗口<br/>
- <button onclick="create()">Create</button>
- </body>
- </html>
1.四、currentWebview: 獲取當前窗口的WebviewObject對象
WebviewObject plus.webview.currentWebview();
說明:獲取當前頁面所屬的Webview窗口對象。
返回值:WebviewObject : Webview窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- var ws=plus.webview.currentWebview();
- console.log( "當前Webview窗口:"+ws.getURL() );
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- </script>
- </head>
- <body>
- 獲取自身Webview窗口
- </body>
- </html>
1.五、getWebviewById: 查找指定標識的WebviewObject窗口
WebviewObject plus.webview.getWebviewById( id );
說明:在已建立的窗口列表中查找指定標識的Webview窗口並返回。 若沒有查找到指定標識的窗口則返回null,若存在多個相同標識的Webview窗口,則返回第一個建立的Webview窗口。 若是要獲取應用入口頁面所屬的Webview窗口,其標識爲應用的%APPID%,可經過plus.runtime.appid獲取。
參數:id: ( String ) 必選 要查找的Webview窗口標識
返回值:WebviewObject : WebviewObject窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- // 查找應用首頁窗口對象
- var h=plus.webview.getWebviewById( plus.runtime.appid );
- console.log( "應用首頁Webview窗口:"+h.getURL() );
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- </script>
- </head>
- <body>
- 查找指定標識的窗口
- </body>
- </html>
1.六、getLaunchWebview: 獲取應用首頁WebviewObject窗口對象
WebviewObject plus.webview.getLaunchWebview();
返回值:WebviewObject : WebviewObject窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- // 獲取應用首頁窗口對象
- var h=plus.webview.getLaunchWebview();
- console.log( "應用首頁Webview窗口:"+h.getURL() );
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- </script>
- </head>
- <body>
- 獲取應用首頁WebviewObject窗口對象
- </body>
- </html>
1.七、getTopWebview: 獲取應用顯示棧頂的WebviewObject窗口對象
WebviewObject plus.webview.getTopWebview();
返回值:WebviewObject : WebviewObject窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- // 獲取應用首頁窗口對象
- var h=plus.webview.getTopWebview();
- console.log( "應用顯示棧頂的Webview窗口:"+h.getURL() );
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- </script>
- </head>
- <body>
- 獲取應用顯示棧頂的WebviewObject窗口對象
- </body>
- </html>
1.八、hide: 隱藏Webview窗口
void plus.webview.hide( id_wvobj, aniHide, duration, extras );
說明:根據指定的WebviewObject對象或id隱藏Webview窗口,使得窗口不可見。
參數:
id_wvobj: ( String | WebviewObject ) 必選 要隱藏的Webview窗口id或窗口對象。使用窗口對象時,若窗口對象已經隱藏,則無任何效果。 使用窗口id時,則查找對應id的窗口,若是有多個相同id的窗口則操做最早打開的,若沒有查找到對應id的WebviewObject對象,則無任何效果。
aniHide: ( AnimationTypeClose) 可選 隱藏Webview窗口的動畫效果。若是沒有指定窗口動畫,則使用默認動畫效果「none」。
duration: ( Number ) 可選 隱藏Webview窗口動畫的持續時間。單位爲ms,若是沒有設置則使用默認窗口動畫時間。
extras: ( WebviewExtraOptions) 可選 隱藏Webview窗口擴展參數。可用於指定Webview窗口動畫是否使用圖片加速。
返回值:void : 無
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- // 隱藏自身窗口
- function hideeme(){
- plus.webview.hide( plus.webview.currentWebview() );
- }
- </script>
- </head>
- <body>
- 隱藏Webview窗口<br/>
- <button onclick="hideeme()">Hide</button>
- </body>
- </html>
1.九、open: 建立並打開Webview窗口
WebviewObject plus.webview.open( url, id, styles, aniShow, duration, showedCB );
說明:建立並顯示Webview窗口,用於加載新的HTML頁面,可經過styles設置Webview窗口的樣式,建立完成後自動將Webview窗口顯示出來。
參數:
url: ( String ) 可選 打開窗口加載的HTML頁面地址。新打開Webview窗口要加載的HTML頁面地址,可支持本地地址和網絡地址。
id: ( String ) 可選 打開窗口的標識。窗口標識可用於在其它頁面中經過getWebviewById來查找指定的窗口,爲了保持窗口標識的惟一性,應該避免使用相同的標識來建立多個Webview窗口。 若是傳入無效的字符串則使用url參數做爲WebviewObject窗口的id值。
styles: ( WebviewStyles) 可選 建立Webview窗口的樣式(如窗口寬、高、位置等信息)
aniShow: ( AnimationTypeShow) 可選 顯示Webview窗口的動畫效果。若是沒有指定窗口動畫,則使用默認無動畫效果「none」。
duration: ( Number ) 可選 顯示Webview窗口動畫的持續時間。單位爲ms,若是沒有設置則使用默認窗口動畫時間600ms。
showedCB: ( SuccessCallback ) 可選 Webview窗口顯示完成的回調函數。當指定Webview窗口顯示動畫執行完畢時觸發回調函數,窗口無動畫效果(如"none"動畫效果)時也會觸發此回調。
返回值:WebviewObject : WebviewObject窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
- // 建立並顯示新窗口
- function openWebview(){
- var w = plus.webview.open( "http://weibo.com/dhnetwork" );
- }
- </script>
- </head>
- <body>
- 打開Webview窗口<br/>
- <button onclick="openWebview()">Open</button>
- </body>
- </html>
1.十、show: 顯示Webview窗口
void plus.webview.show( id_wvobj, aniShow, duration, showedCB, extras );
說明:顯示已建立或隱藏的Webview窗口,需先獲取窗口對象或窗口id,並可指定顯示窗口的動畫及動畫持續時間。
參數:
id_wvobj: ( String | WebviewObject ) 必選 要顯示Webview窗口id或窗口對象。若操做Webview窗口對象顯示,則無任何效果。 使用窗口id時,則查找對應id的窗口,若是有多個相同id的窗口則操做最早建立的窗口,若沒有查找到對應id的WebviewObject對象,則無任何效果。
aniShow: ( AnimationTypeShow) 可選 顯示Webview窗口的動畫效果。若是沒有指定窗口動畫類型,則使用默認值「auto」,即自動選擇上一次顯示窗口的動畫效果,若是以前沒有顯示過,則使用「none」動畫效果。
duration: ( Number ) 可選 顯示Webview窗口動畫的持續時間。單位爲ms,若是沒有設置則使用默認窗口動畫時間600ms。
showedCB: ( SuccessCallback ) 可選 Webview窗口顯示完成的回調函數。當指定Webview窗口顯示動畫執行完畢時觸發回調函數,窗口無動畫效果(如"none"動畫效果)時也會觸發此回調。
extras: ( WebviewExtraOptions) 可選 顯示Webview窗口擴展參數。可用於指定Webview窗口動畫是否使用圖片加速。
返回值:WebviewObject : Webview窗口對象
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
-
- // 建立並顯示新窗口
- function create(){
- var w = plus.webview.create( "http://weibo.com/dhnetwork" );
- plus.webview.show( w ); // 顯示窗口
- }
- </script>
- </head>
- <body>
- 顯示Webview窗口<br/>
- <button onclick="create()">Create</button>
- </body>
- </html>
1.十一、defaultHardwareAccelerated: 獲取Webview默認是否開啓硬件加速
Boolean plus.webview.defaultHardwareAccelerated();
說明:因爲不一樣設備對硬件加速的支持狀況存在差別,開啓硬件加速能加速HTML頁面的渲染,但也會消耗更多的系統資源,從而致使在部分設備上可能出現閃屏、發虛、分塊渲染等問題, 所以5+ Runtime會根據設備實際支持狀況自動選擇是否開啓硬件加速。 關閉硬件加速則可能會致使Webview頁面沒法支持Video標籤播放視頻等問題,若是在特定狀況下須要調整修改默認開啓硬件加速的行爲,則可經過plus.webview.defaultHardwareAccelerated()方法獲取當前設備默認是否開啓硬件加速狀態,從而決定是否須要顯式開啓或關閉指定Webview的硬件加速功能(經過WebviewStyles的hardwareAccelerated屬性設置)。
返回值:Boolean : Webview窗口默認開啓硬件加速則返回true,不然返回false。
平臺支持:Android - 2.3+ (支持): 返回當前設備默認是否開啓硬件加速。iOS - 5.1+ (不支持): 返回固定值true。
示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Webview Example</title>
- <script type="text/javascript">
- // H5 plus事件處理
- function plusReady(){
- }
- if(window.plus){
- plusReady();
- }else{
- document.addEventListener("plusready",plusReady,false);
- }
-
- // 建立新窗口並設置開啓硬件加速
- function create(){
- var styles={};
- // 在Android5以上設備,若是默認沒有開啓硬件加速,則強制設置開啓
- if(!plus.webview.defaultHardwareAccelerated()&&parseInt(plus.os.version)>=5){
- styles.hardwareAccelerated=true;
- }
- var w = plus.webview.create( "http://weibo.com/dhnetwork", "test", styles );
- plus.webview.show( w ); // 顯示窗口
- }
- </script>
- </head>
- <body>
- 開啓硬件加速顯示Webview窗口<br/>
- <button onclick="create()">Create</button>
- </body>
- </html>
二、對象
AnimationTypeShow: 一組用於定義頁面或控件顯示動畫效果
AnimationTypeClose: 一組用於定義頁面或控件關閉的動畫效果
WebviewObject: Webview窗口對象,用於操做加載HTML頁面的窗口
WebviewBounceStyle: Webview窗口回彈樣式
WebviewDock: 原生控件在窗口中停靠的方式
WebviewEvent: Webview窗口事件
WebviewRefreshStyle: Webview窗口下拉刷新樣式
WebviewPosition: 原生控件在窗口中顯示的位置
WebviewStyles: JSON對象,原生窗口設置參數的對象
WebviewExtraOptions: JSON對象,原生窗口擴展參數
WebviewTransform: 一組用於定義頁面或控件變形的屬性
WebviewTransition: 一組用於定義頁面或控件轉換效果的屬性
WebviewOverrideUrlOptions: 攔截Webview窗口URL請求的屬性
三、回調方法
BounceEventCallback: Webview窗口回彈事件的回調函數
EventCallback: Webview窗口事件的回調函數
PopGestureCallback: Webview窗口側滑事件的回調函數
HistoryQueryCallback: 歷史記錄記錄查詢的回調函數
OverrideUrlLoadingCallback: Webview窗口攔截URL連接跳轉的回調函數
TitleUpdateCallback: Webview窗口加載頁面標題更新的回調函數
SuccessCallback: Webview窗口操做成功回調函數
ErrorCallback: Webview窗口操做失敗回調函數
2、重點
一、 在Webview窗口中添加子窗口
- embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
- plus.webview.currentWebview().append( embed );
- 與下面使用show顯示Webview窗口效果同樣。
- ws=plus.webview.currentWebview();
- embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
- embed.show();
二、appendJsFile和setJsFile
(1)、wobj.appendJsFile( file ):添加Webview窗口預加載js文件
對於一些網絡HTML頁面,在沒法修改HTML頁面時可經過此方法自動加載本地js文件。 當Webview窗口跳轉到新頁面時也會自動加載指定的js執行,添加多個js文件將按照添加的前後順序執行。
- var nw=plus.webview.create("http://weibo.com/dhnetwork");
- nw.appendJsFile("_www/preload.js");
- nw.show();
(2)、void wobj.setJsFile( path ):設置預加載的JS文件
預加載JS文件不須要在HTML頁面中顯式引用,在Webview窗口加載HTML頁面時自動加載,在頁面跳轉時也會自動加載。 設置新的JS文件後將清空以前設置的值。