北京工厂网站建设,做网站价钱,湖北建设科技中心网站首页,烟台网站建设公司报价一、关闭webView窗口 plus.webview.close( id_wvobj, aniClose, duration, extras );
功能说明
关闭已经打开的Webview窗口#xff0c;需先获取窗口对象或窗口id#xff0c;并可指定关闭窗口的动画及动画持续时间。
参数说明
参数是否必须参数类型/固定值说明id_wvobj是…
一、关闭webView窗口 plus.webview.close( id_wvobj, aniClose, duration, extras );
功能说明
关闭已经打开的Webview窗口需先获取窗口对象或窗口id并可指定关闭窗口的动画及动画持续时间。
参数说明
参数是否必须参数类型/固定值说明id_wvobj是String 要关闭Webview窗口id或窗口对象若操作窗口对象已经关闭则无任何效果。 使用窗口id时则查找对应id的窗口如果有多个相同id的窗口则操作最先打开的窗口若没有查找到对应id的WebviewObject对象则无任何效果。aniClose否 auto 默认值自动选择关闭动画效果。none无动画效果直接关闭。slide-out-right从右向左滑出关闭动画。slide-out-left从左向右滑出关闭动画。关闭Webview窗口的动画效果如果没有指定关闭窗口动画则使用默认值“auto”即使用显示时设置的窗口动画相对应的关闭动画。duration否Number 关闭Webview窗口动画的持续时间单位为ms如果没有设置则使用显示窗口动画时间。extras否任意类型关闭Webview窗口扩展参数可用于指定Webview窗口动画是否使用图片加速。
使用示例 function closeWebview(){var wsplus.webview.currentWebview();plus.webview.close(ws);
}
二、创建新的webView窗口 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否 JSON 创建Webview窗口的样式如窗口宽、高、位置等信息WebviewStylesextras否Object 创建Webview窗口的额外扩展参数值为JSON类型设置扩展参数后可以直接通过Webview的点“.”操作符获取扩展参数属性值 如 var wplus.webview.create(url.html,id,{},{preload:preload webview}); // 可直接通过以下方法获取preload值 console.log(w.preload); // 输出值为“preload webview”
使用示例 function create(){var w plus.webview.create(http://m.weibo.cn/u/3196963860);w.show(); // 显示窗口
}
三、获取当前窗口的WebviewObject对象 plus.webview.currentWebview();
功能说明
获取当前页面所属的Webview窗口对象。
使用示例 var wsplus.webview.currentWebview();
console.log( 当前Webview窗口ws.getURL() );
四、隐藏Webview窗口 plus.webview.hide( id_wvobj, aniHide, duration, extras );
功能说明
根据指定的WebviewObject对象或id隐藏Webview窗口使得窗口不可见。
参数说明
参数是否必须参数类型/固定值说明id_wvobj是String 要隐藏的Webview窗口id或窗口对象使用窗口对象时若窗口对象已经隐藏则无任何效果。 使用窗口id时则查找对应id的窗口如果有多个相同id的窗口则操作最先打开的若没有查找到对应id的WebviewObject对象则无任何效果。aniHide否 auto 默认值自动选择关闭动画效果。none无动画效果直接关闭。slide-out-right从右向左滑出关闭动画。slide-out-left从左向右滑出关闭动画。··· 隐藏Webview窗口的动画效果如果没有指定窗口动画则使用默认动画效果“none”。duration否Number 隐藏Webview窗口动画的持续时间单位为ms如果没有设置则使用默认窗口动画时间。extras否JSON对象隐藏Webview窗口扩展参数可用于指定Webview窗口动画是否使用图片加速。
使用示例 function hideWebview(){plus.webview.hide(plus.webview.currentWebview());
}
五、显示Webview窗口 plus.webview.show( id_wvobj, aniShow, duration, showedCB, extras );
功能说明
显示已创建或隐藏的Webview窗口需先获取窗口对象或窗口id并可指定显示窗口的动画及动画持续时间。
参数说明
参数是否必须参数类型/固定值说明id_wvobj是 String 要显示Webview窗口id或窗口对象若操作Webview窗口对象显示则无任何效果。 使用窗口id时则查找对应id的窗口如果有多个相同id的窗口则操作最先创建的窗口若没有查找到对应id的WebviewObject对象则无任何效果。aniShow否 auto 默认值自动选择显示动画效果。none无动画效果直接显示。slide-in-right从右向左滑出显示动画。slide-in-left从左向右滑出显示动画。··· 显示Webview窗口的动画效果如果没有指定窗口动画类型则使用默认值“auto”即自动选择上一次显示窗口的动画效果如果之前没有显示过则使用“none”动画效果。AnimationTypeShowduration否Number 显示Webview窗口动画的持续时间,单位为ms单位为ms如果没有设置则使用默认窗口动画时间600ms。showedCB否 onSuccess(){ // Success code. } onError(error){ var code error.code; // 错误编码 var message error.message; // 错误描述信息 } Webview窗口显示完成的回调函数,当指定Webview窗口显示动画执行完毕时触发回调函数窗口无动画效果如none动画效果时也会触发此回调。
使用示例 function create(){var w plus.webview.create(http://m.weibo.cn/u/3196963860);plus.webview.show(w); // 显示窗口
}
六、创建并打开Webview窗口 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否 JSON 创建Webview窗口的样式如窗口宽、高、位置等信息WebviewStylesaniShow否 auto 默认值自动选择关闭动画效果。none无动画效果直接关闭。slide-in-right从右向左滑出关闭动画。slide-in-left从左向右滑出关闭动画。··· 显示Webview窗口的动画效果如果没有指定窗口动画则使用默认无动画效果“none”。AnimationTypeShowduration否Number 显示Webview窗口动画的持续时间,单位为ms默认值为200ms毫秒。showedCB否 onSuccess(){ // Success code. } onError(error){ var code error.code; // 错误编码 var message error.message; // 错误描述信息 } Webview窗口显示完成的回调函数,当指定Webview窗口显示动画执行完毕时触发回调函数窗口无动画效果如none动画效果时也会触发此回调。
使用示例 function openWebview(){var w plus.webview.open(http://m.weibo.cn/u/3196963860);
}
七、预载网络页面 plus.webview.prefetchURL(url);
功能说明
预载网络页面会向服务器发起http/https请求获取html页面内容 待Webview窗口加载此url页面时会则根据缓存机制优先使用预载的页面内容(加快页面显示速度)。 注意预载网络页面仅在运行期生效为了节省内存仅保留最后5个预载页面数据。
参数说明
参数是否必须参数类型/固定值说明url是String 需要预载的页面地址必须是网络地址http/https,本地页面地址无需预载。
使用示例 var url http://m.weibo.cn/u/3196963860;// 预载网络页面
function prefetchWebview(){plus.webview.prefetchURL(url);
}// 显示预载页面
function showWebview(){// 预创建新窗口显示在可视区域外wnplus.webview.create(url, test,{render:always});wn.show(none);
}
八、Webview的一些常用方法
1. addEventListener: 添加事件监听器
参数说明 参数是否必须可选参数说明event是 close: (String 类型 )Webview窗口关闭事件 error: (String 类型 )Webview窗口加载错误事件 hide: (String 类型 )Webview窗口隐藏事件 loading: (String 类型 )Webview窗口页面开始加载事件 loaded: (String 类型 )Webview窗口页面加载完成事件 maskClick: (String 类型 )Webview窗口显示遮罩层时点击事件 touchstart: (String 类型 )Webview窗口接收到触屏事件 popGesture: (String 类型 )Webview窗口侧滑返回事件 更多事件 Webview窗口事件类型listener是 void onEvent(Event event){ // Event handled code. } 监听事件发生时执行的回调函数capture否 Boolean捕获事件流顺序暂无效果 示例代码 plus.nativeUI.showWaiting()
var ws null,embed null;
ws this.$scope.$getAppWebview(); //plus.webview.currentWebview();在uni-app里vue页面直接使用无效非v3编译模式使用this.$mp.page.$getAppWebview()
embed plus.webview.create(this.url, , {top: getApp().globalData.bh 35 px,bottom: 0px
});
ws.append(embed);//监听webview窗口事件
embed.addEventListener(loaded, function() {if (embed.isVisible()) {plus.nativeUI.closeWaiting()// 页面加载完成且可见时的操作}
});
2. append: 在Webview窗口中添加子窗口
说明
将另一个Webview窗口作为子窗口添加到当前Webview窗口中添加后其所有权归父Webview窗口当父窗口关闭时子窗口自动关闭。
被添加的Webview窗口需通过plus.webview.create方法创建并且不能调用其show方法进行显示。 父窗口显示时子窗口会自动显示父窗口隐藏时子窗口也会自动隐藏。 被添加的View控件需通过new plus.nativeObj.View()创建添加到Webview窗口后所有权一起转移即Webview关闭后View控件也自动关闭。
示例代码 var ws null,embed null;
ws this.$scope.$getAppWebview(); //plus.webview.currentWebview();在uni-app里vue页面直接使用无效非v3编译模式使用this.$mp.page.$getAppWebview()
embedplus.webview.create(http://m.weibo.cn/u/3196963860, ,{top:46px,bottom:0px});
ws.append(embed);
3. appendJsFile: 添加Webview窗口预加载js文件
说明
对于一些网络HTML页面在无法修改HTML页面时可通过此方法自动加载本地js文件。 当Webview窗口跳转到新页面时也会自动加载指定的js执行添加多个js文件将按照添加的先后顺序执行。
示例代码 // 添加Webview窗口预加载js文件
function appendJs2Webviewe(){var nwplus.webview.create(http://m.weibo.cn/u/3196963860);nw.appendJsFile(_www/preload.js);nw.show();
}
4. checkRenderedContent: 检测Webview窗口是否渲染完成
说明
检测方式为判断的Webview窗口内容是否为白屏如果非白屏则认为渲染完成否则认为渲染未完成。 通过successCallback回调函数返回结果如果检测过程中发生错误则触发errorCallback回调函数。
successCallback: ( Function ) 必选 检测Webview窗口渲染结果回调函数 获取渲染检测结果后触发函数原型为void function(e){} e.rendered表示检测渲染完成结果Boolean类型true表示渲染完成false表示渲染未完成。
errorCallback: ( ErrorCallback ) 可选 检测Webview窗口渲染结果失败回调函数 检测Webview窗口渲染结果过程中发生错误则触发errorCallback回调函数
此方法不支持iOS
示例代码 // 创建Webview窗口
function createWebview(){// 打开新窗口nwplus.webview.create(http://m.weibo.cn/u/3196963860);nw.show();
}
function checkWebview(){nw.checkRenderedContent({}, function(e){console.log(checkRenderedContent success: JSON.stringify(e));}, function(e){console.log(checkRenderedContent error: JSON.stringify(e));});
}
5. interceptTouchEvent: 是否拦截Webview窗口的触屏事件
说明
拦截后触屏事件不再传递否则传递给View控件下的其它窗口处理。 Webview窗口默认拦截所有触屏事件。
intercept: ( Boolean ) 可选 是否拦截触屏事件 true表示拦截触屏事件false表示不拦截触屏事件透传事件给其它窗口处理。 默认值为true。
Android - 3.0 (支持) iOS - ALL (不支持)
示例代码 var wvnull;
wv plus.webview.currentWebview();
// 拦截触屏事件
function interceptEvent(){wv.interceptTouchEvent(true);
}
// 不拦截触屏事件
function uninterceptEvent(){wv.interceptTouchEvent(false);
}
6. isVisible: 查询Webview窗口是否可见
说明
若Webview窗口已经显示调用过show方法即使被其它窗口挡住了也认为已显示则返回true若Webview窗口被隐藏则返回false。
示例代码 wsplus.webview.currentWebview();
embedplus.webview.create(http://m.weibo.cn/u/3196963860, , {top:46px,bottom:0px});
embed.show();// 查询Webview窗口是否可见
function visibleWebview() {alert(是否可见embed.isVisible());
}
// 隐藏Webview窗口
function hideWebview() {embed.hide();
}
7. overrideResourceRequest: 拦截Webview窗口的资源加载
说明
根据区配规则拦截Webview窗口加载资源的URL地址重定向到其它资源地址暂仅支持本地地址。 注意多次调用overrideResourceRequest时仅以最后一次调用设置的参数值生效。
示例代码 var wsnull,nwnull;
wsplus.webview.currentWebview();
// 拦截Webview窗口的资源请求
nwplus.webview.create(http://m.weibo.cn/u/3196963860);nw.overrideResourceRequest([{match:http://tva3.sinaimg.cn/crop.121.80.980.980.180/be8dcc14gw1e7lz65y6g3j20uo0uoq4r.jpg,redirect:_www/logo.png}]);nw.show();
8. overrideUrlLoading: 拦截Webview窗口的URL请求
说明
拦截URL请求后Webview窗口将不会跳转到新的URL地址此时将通过callback回调方法返回拦截的URL地址可新开Webview窗口加载URL页面等。 此方法只能拦截窗口的网络超链接跳转包括调用loadURL方法触发的跳转不可拦截页面请求资源请求如加载css/js/png等资源的请求。 注意多次调用overrideUrlLoading时仅以最后一次调用设置的参数值生效。
Options属性
属性类型取值说明作用effectString 可取值 instant - 表示立即生效即调用overrideUrlLoading方法后立即生效 touchstart - 表示用户操作Webview窗口触发touchstart事件后生效如果用户没有操作Webview窗口则不对URL请求操作进行拦截处理。 默认值为instant。 拦截URL请求生效时机modeString 可取值 allow表示满足match属性定义的条件时不拦截url继续加载不满足match属性定义的条件时拦截url跳转并触发callback回调 reject表示满足match属性定义的提交时拦截url跳转并触发callback回调不满足match属性定义的条件时不拦截url继续加载。 默认值为reject。 拦截模式matchString 支持正则表达式默认值为对所有URL地址生效相当于正则表达式“.*”。 如果mode值为allow则允许区配的URL请求跳转mode值为reject则拦截区配的URL请求。 匹配是否需要处理的URL请求excludeString 不拦截处理指定类型的URL请求直接使用系统默认处理逻辑。 可取值 none表示不排除任何URL请求即拦截处理所有URL请求 redirect表示排除拦截处理301/302跳转的请求谨慎使用非a标签的href触发的URL请求可能会误判断为302跳转。 默认值为none。 排除拦截处理请求类型
示例代码 wsplus.webview.currentWebview();
nwplus.webview.create(http://m.weibo.cn/u/3196963860);
nw.show();var regex ^https://brain.*;
nw.overrideUrlLoading({mode:allow,match: regex,
}, function(e){console.log(reject url: e.url);
});
九、参考文档
参考文档地址