webBrowser
来自于:官方立即使用
open openView closeView loadUrl loadScript historyBack historyForward
概述
webBrowser提供应用内置Web浏览器功能,Android使用腾讯X5引擎提供服务,iOS使用WKWebView(iOS8.0以下系统仍使用UIWebView)提供服务。使用腾讯X5引擎加载远程H5页面,将有更强大的兼容性和多媒体支持能力,更流畅的H5体验,同时X5引擎的云服务能力将为你的H5站点实现加速,响应更快,加载更快。 实现应用内置浏览器的完整源码
注:加载的页面中目前只支持api.sendEvent方法。
open
直接打开已定制的带标题栏的浏览器组件,类似微信中的效果
open({params})
params
url:
- 类型:字符串
- 默认值:无
- 描述:页面请求地址,支持http、https等远程地址
headers:
- 类型:JSON 对象
- 默认值:无
- 描述:(可选项)请求头
scaleEnabled:
- 类型:布尔
- 默认值:false
- 描述:(可选项)页面是否可以缩放
titleBar:
- 类型:JSON 对象
- 默认值:见内部字段
- 描述:标题栏样式设置,可以不传
- 内部字段:
{
visible: //标题栏是否隐藏,只支持Android,布尔类型,默认值false
bg: //标题栏背景颜色,支持 rgb,rgba,#fff等,默认值#393A3F
textColor: //标题栏文字颜色,支持 rgb,rgba,#fff等,默认值#FFF
}
progress:
- 类型:JSON 对象
- 默认值:见内部字段
- 描述:加载进度条样式设置,可以不传
- 内部字段:
{
color: //加载进度条颜色,支持 rgb,rgba,#fff等,默认值#45C01A
height: //进度条高度,默认值3,数字类型
}
示例代码
var browser = api.require('webBrowser');
browser.open({
url: 'https://www.apicloud.com'
});
补充说明
无
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
openView
打开一个可指定大小和位置等属性的浏览器视图到当前window。
openView({params}, callback(ret, err))
params
url:
- 类型:字符串
- 默认值:无
- 描述:页面请求地址,支持http、https等远程地址
headers:
- 类型:JSON 对象
- 默认值:无
- 描述:(可选项)请求头
scaleEnabled:
- 类型:布尔
- 默认值:false
- 描述:(可选项)页面是否可以缩放
rect:
- 类型:JSON 对象
- 默认值:见内部字段
- 描述:(可选项)浏览器窗口的位置和大小,设置margin后,在不同手机上面会保持与父页面的各方向边距一致,而中间区域会自动扩充。建议使用margin布局,可以完美适配带smartBar的手机。
- 内部字段:
{
x:0, //左上角x坐标,默认0
y:0, //左上角y坐标,默认0
w:320, //宽度,默认'auto',页面从x位置开始自动充满父页面宽度
h:480 //高度,默认'auto',页面从y位置开始自动充满父页面高度
marginLeft:0, //相对父页面左外边距的距离,默认0
marginTop:0, //相对父页面上外边距的距离,默认0
marginBottom:0, //相对父页面下外边距的距离,默认0
marginRight:0 //相对父页面右外边距的距离,默认0
}
progress:
- 类型:JSON 对象
- 默认值:见内部字段
- 描述:加载进度条样式设置,可以不传
- 内部字段:
{
color: //加载进度条颜色,支持 rgb,rgba,#fff等,默认值#45C01A
height: //进度条高度,默认值3,数字类型
}
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:页面加载状态、加载进度等发生变化时的回调
- 内部字段:
{
state:0, //加载状态,数字类型,取值范围:0-开始加载;1-加载进度发生变化;2-结束加载;3-title发生变化;4-url发生变化
progress:0, //state为1时,页面的加载进度,数字类型,取值范围 0-100
title:'', //state为3时,页面当前的title,字符串类型
url:'' //state为0|2|4时,页面当前的url,字符串类型
}
示例代码
var browser = api.require('webBrowser');
browser.openView({
url: 'http://m.apicloud.com',
rect: {
x: 0,
y: 64,
w: 'auto',
h: 'auto'
}
}, function(ret, err) {
switch (ret.state) {
case 0:
break;
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
default:
break;
}
});
补充说明
无
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
closeView
关闭浏览窗口,只在使用openView时有效
closeView()
params
示例代码
var browser = api.require('webBrowser');
browser.closeView();
补充说明
无
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
loadUrl
加载指定url,只在使用openView时有效
loadUrl({params})
params
url:
- 类型:字符串
- 默认值:无
- 描述:页面请求地址,支持http、https等远程地址
headers:
- 类型:JSON 对象
- 默认值:无
- 描述:(可选项)请求头
示例代码
var browser = api.require('webBrowser');
browser.loadUrl({
url: 'https://www.apicloud.com'
});
补充说明
无
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
loadScript
在页面执行js脚本,只在使用openView时有效
loadScript({params})
params
script :
- 类型:字符串
- 默认值:无
- 描述:js脚本代码
示例代码
var browser = api.require('webBrowser');
browser.loadScript({
script: 'location.reload();'
});
补充说明
无
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
historyBack
历史记录后退一页,只在使用openView时有效
historyBack(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //后退是否成功,失败时说明不能再后退了
}
示例代码
var browser = api.require('webBrowser');
browser.historyBack(
function(ret, err) {
if (!ret.status) {
api.closeWin();
}
}
);
补充说明
无
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
historyForward
历史记录前进一页,只在使用openView时有效
historyForward(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //前进是否成功,失败时说明不能再前进了
}
示例代码
var browser = api.require('webBrowser');
browser.historyForward(
function(ret, err) {
if (!ret.status) {
}
}
);
补充说明
无
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本