webBrowser

open closeView loadScript historyForward

概述

webBrowser提供应用内置Web浏览器功能,Android使用腾讯X5引擎提供服务,iOS使用WKWebView(iOS8.0以下系统仍使用UIWebView)提供服务。使用腾讯X5引擎加载远程H5页面,将有更强大的兼容性和多媒体支持能力,更流畅的H5体验,同时X5引擎的云服务能力将为你的H5站点实现加速,响应更快,加载更快。

注:加载的页面中目前只支持api.sendEvent方法。

open

直接打开已定制的带标题栏的浏览器组件,类似微信中的效果

open({params})

url:

  • 类型:字符串
  • 默认值:无
  • 描述:页面请求地址,支持http、https等远程地址

headers:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:(可选项)请求头

scaleEnabled:

  • 类型:布尔
  • 默认值:false
  • 描述:(可选项)页面是否可以缩放

titleBar:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 描述:标题栏样式设置,可以不传
  • 内部字段:

progress:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 内部字段:
  1. color: //加载进度条颜色,支持 rgb,rgba,#fff等,默认值#45C01A
  2. height: //进度条高度,默认值3,数字类型
  3. }

示例代码

  1. var browser = api.require('webBrowser');
  2. browser.open({
  3. url: 'https://www.apicloud.com'
  4. });

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openView

打开一个可指定大小和位置等属性的浏览器视图到当前window。

openView({params}, callback(ret, err))

params

url:

  • 类型:字符串
  • 默认值:无
  • 描述:页面请求地址,支持http、https等远程地址

headers:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:(可选项)请求头
  • 类型:布尔
  • 默认值:false
  • 描述:(可选项)页面是否可以缩放

rect:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 描述:(可选项)浏览器窗口的位置和大小,设置margin后,在不同手机上面会保持与父页面的各方向边距一致,而中间区域会自动扩充。建议使用margin布局,可以完美适配带smartBar的手机。
  • 内部字段:
  1. {
  2. x:0, //左上角x坐标,默认0
  3. y:0, //左上角y坐标,默认0
  4. w:320, //宽度,默认'auto',页面从x位置开始自动充满父页面宽度
  5. h:480 //高度,默认'auto',页面从y位置开始自动充满父页面高度
  6. marginLeft:0, //相对父页面左外边距的距离,默认0
  7. marginTop:0, //相对父页面上外边距的距离,默认0
  8. marginBottom:0, //相对父页面下外边距的距离,默认0
  9. marginRight:0 //相对父页面右外边距的距离,默认0
  10. }

progress:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 描述:加载进度条样式设置,可以不传
  • 内部字段:

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:页面加载状态、加载进度等发生变化时的回调
  • 内部字段:
  1. {
  2. state:0, //加载状态,数字类型,取值范围:0-开始加载;1-加载进度发生变化;2-结束加载;3-title发生变化;4-url发生变化
  3. progress:0, //state为1时,页面的加载进度,数字类型,取值范围 0-100
  4. title:'', //state为3时,页面当前的title,字符串类型
  5. url:'' //state为0|2|4时,页面当前的url,字符串类型
  6. }

示例代码

  1. browser.openView({
  2. url: 'http://m.apicloud.com',
  3. rect: {
  4. x: 0,
  5. y: 64,
  6. w: 'auto',
  7. h: 'auto'
  8. }, function(ret, err) {
  9. switch (ret.state) {
  10. case 0:
  11. break;
  12. case 1:
  13. break;
  14. case 2:
  15. break;
  16. case 3:
  17. break;
  18. case 4:
  19. break;
  20. default:
  21. break;
  22. }
  23. });

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeView

关闭浏览窗口,只在使用openView时有效

closeView()

示例代码

  1. browser.closeView();

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

loadUrl

加载指定url,只在使用openView时有效

loadUrl({params})

params

url:

  • 类型:字符串
  • 默认值:无
  • 描述:页面请求地址,支持http、https等远程地址

headers:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:(可选项)请求头

示例代码

补充说明

可用性

iOS系统,Android系统

loadScript

在页面执行js脚本,只在使用openView时有效

loadScript({params})

params

script :

  • 类型:字符串
  • 默认值:无
  • 描述:js脚本代码
  1. var browser = api.require('webBrowser');
  2. browser.loadScript({
  3. script: 'location.reload();'
  4. });

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

historyBack

历史记录后退一页,只在使用openView时有效

historyBack(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true //后退是否成功,失败时说明不能再后退了
  3. }

示例代码

  1. var browser = api.require('webBrowser');
  2. browser.historyBack(
  3. function(ret, err) {
  4. if (!ret.status) {
  5. api.closeWin();
  6. }
  7. }
  8. );

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

historyForward

历史记录前进一页,只在使用openView时有效

historyForward(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:

示例代码

  1. var browser = api.require('webBrowser');
  2. browser.historyForward(
  3. function(ret, err) {
  4. if (!ret.status) {
  5. }
  6. }
  7. );

可用性

iOS系统,Android系统