openFrameGroup
打开frame组
若frame组已存在,则会把该frame组显示到最前面。frame组打开后,当前页面加载完成后,页面会预加载后面指定个数页面
openFrameGroup({params}, callback(ret, err))
params
name:
- 类型:字符串
- 默认值:无
- 描述:frame 组名字
background:
- 类型:字符串
- 默认值:无
- 描述:(可选项)frame 组背景,颜色(#fff,#ffffff,rgba(r,g,b,a))或图片(支持文件路径协议和相对路径)
scrollEnabled:
- 类型:布尔
- 默认值:true
- 描述:(可选项)frame 组是否能够左右滚动
fixedOn:
- 类型:字符串
- 默认值:若当前在tabLayout组件中为ui_layout,否则为ui_window
- 描述:(可选项)frameGroup所要添加到的目标页面。
- 取值范围:
ui_window //页面添加到当前window中。若当前在tabLayout组件中,页面只能添加到navigationBar和tabBar之间的区域,无法覆盖在navigationBar、tabBar之上。
ui_layout //页面添加到当前tabLayout中。此时页面能够添加到tabLayout中任意位置,能够覆盖在navigationBar、tabBar之上,只在tabLayout组件中有效。
rect:
- 类型:JSON 对象
- 默认值:充满整个父页面
- 描述:(可选项)设置frameGroup的位置和大小。如果要固定宽高则使用x、y、w、h等参数;如果要自适应状态栏高度变化、横竖屏切换等,则需要使用margin相关参数,不能使用w、h固定宽高。推荐使用margin相关参数来布局。
- 内部字段:
{
x:, //左上角x坐标,数字类型
y:, //左上角y坐标,数字类型
w:, //宽度,若传'auto',页面从x位置开始自动充满父页面宽度,数字或固定值'auto'
h:, //高度,若传'auto',页面从y位置开始自动充满父页面高度,数字或固定值'auto'
marginLeft:, //相对父页面左外边距的距离,数字类型
marginTop:, //相对父页面上外边距的距离,数字类型
marginBottom:, //相对父页面下外边距的距离,数字类型
marginRight: //相对父页面右外边距的距离,数字类型
}
index:
- 类型:数字
- 默认值:0
- 描述:(可选项)默认显示的页面索引
preload:
- 类型:数字
- 默认值:1
- 描述:(可选项)预加载的 frame 个数,默认加载当前页后面一个
frames:
- 类型:数组
- 默认值:无
- 描述:frame 数组
- 内部字段:
[{
name:'', //frame名字,字符串类型,不能为空字符串
url:'', //页面地址,可以为本地文件路径,支持相对路径和绝对路径,以及 widget://、fs://等协议路径,也可以为远程地址。 当data参数不为空时,url将做为baseUrl,data中的html引用的资源文件根路径以该url为基础。字符串类型
data:'', //(可选项)页面加载的数据内容,可以为html片段或者整张html文件的数据
headers:{}, //(可选项)请求头
useWKWebView:false, //(可选项)是否使用WKWebView来加载页面。参考[WKWebView介绍](https://community.apicloud.com/bbs/thread-151904-1-1.html)。
historyGestureEnabled:false, //(可选项)是否可以通过手势来进行历史记录前进后退,只在useWKWebView参数为true时有效。
pageParam:{}, //(可选项)页面参数,页面中可以通过api.pageParam获取,JSON对象
bounces:true, //(可选项)是否弹动,布尔型,默认值:若在 config.xml 里面配置了pageBounce,则默认值为配置的值,否则为true。注意如果页面使用了上拉、下拉刷新等功能,该属性可能会被刷新组件重新设置。
bgColor:'#fff', //(可选项)背景色,支持图片和颜色,格式为#fff、#ffffff、rgba(r,g,b,a)等,图片路径支持fs://、widget://等APICloud自定义文件路径协议,同时支持相对路径
scrollToTop:true //(可选项)当点击状态栏,页面是否滚动到顶部。若当前屏幕上不止一个页面的scrollToTop属性为true,则所有的都不会起作用。默认值:true。只iOS有效
scrollEnabled:true //(可选项)页面内容超出后是否可以滚动,默认为true,只支持iOS
vScrollBarEnabled:true, //(可选项)是否显示垂直滚动条,布尔型,默认值:true
hScrollBarEnabled:false, //(可选项)是否显示水平滚动条,布尔型,默认值:false
scaleEnabled:true, //(可选项)页面是否可以缩放,布尔型,默认值:false
allowEdit:false, //(可选项)是否允许长按页面时弹出选择菜单
softInputMode:'auto' //(可选项)当键盘弹出时,输入框被盖住时,当前页面的调整方式,只iOS有效。
//取值范围:
//resize //若键盘盖住输入框,页面会自动上移
//pan //若键盘盖住输入框,页面不会自动上移
//auto //默认值,由系统决定如何处理,iOS平台该字段等同于resize
softInputBarEnabled:false, //(可选项)是否显示键盘上方的工具条,布尔型,默认值:true,只iOS有效
overScrollMode, //(可选项)设置页面滚动到头部或尾部时,显示回弹阴影效果的模式,仅Android有效。取值范围:never,always,scrolls
defaultRefreshHeader:'' //(可选项)设置使用默认下拉刷新类型,取值范围:pull、swipe
customRefreshHeader:'' //(可选项)设置使用自定义下拉刷新模块的名称,设置后可以使用api.setCustomRefreshHeaderInfo方法来使用自定义下拉刷新组件
}]
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:当前显示在屏幕上的 frame 变化时会回调
- 内部字段:
{
name:'', //当前 frame 名称
index:0 //当前 frame 索引
}
示例代码
api.openFrameGroup({
name: 'group1',
rect: {
x: 0,
y: 0,
w: 'auto',
h: 'auto'
},
frames: [{
name: 'frame1',
url: 'frame1.html',
bgColor: '#fff'
}, {
name: 'frame2',
url: 'frame2.html',
bgColor: '#fff'
}]
}, function(ret, err) {
var index = ret.index;
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本