webBrowser

来自于:官方立即使用

open openView closeView loadUrl loadScript historyBack historyForward

概述

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

webBrowser - 图1

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

open

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

open({params})

params

url:

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

headers:

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

scaleEnabled:

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

titleBar:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 描述:标题栏样式设置,可以不传
  • 内部字段:
  1. {
  2. visible: //标题栏是否隐藏,只支持Android,布尔类型,默认值false
  3. bg: //标题栏背景颜色,支持 rgb,rgba,#fff等,默认值#393A3F
  4. textColor: //标题栏文字颜色,支持 rgb,rgba,#fff等,默认值#FFF
  5. }

progress:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 描述:加载进度条样式设置,可以不传
  • 内部字段:
  1. {
  2. color: //加载进度条颜色,支持 rgb,rgba,#fff等,默认值#45C01A
  3. height: //进度条高度,默认值3,数字类型
  4. }

示例代码

  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 对象
  • 默认值:无
  • 描述:(可选项)请求头

scaleEnabled:

  • 类型:布尔
  • 默认值: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 对象
  • 默认值:见内部字段
  • 描述:加载进度条样式设置,可以不传
  • 内部字段:
  1. {
  2. color: //加载进度条颜色,支持 rgb,rgba,#fff等,默认值#45C01A
  3. height: //进度条高度,默认值3,数字类型
  4. }

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

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeView

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

closeView()

params

示例代码

  1. var browser = api.require('webBrowser');
  2. browser.closeView();

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

loadUrl

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

loadUrl({params})

params

url:

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

headers:

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

示例代码

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

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

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. {
  2. status:true //前进是否成功,失败时说明不能再前进了
  3. }

示例代码

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

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本