openFrameGroup

2022-06-13 13:48 更新

打开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:{},                             //(可选项)请求头
    avm:false,                              //(可选项)是否使用原生引擎来加载页面,页面必须是使用avm框架语法生成。
    useWKWebView:false,                     //(可选项)是否使用WKWebView来加载页面。参考[WKWebView介绍](https://community.apicloud.com/bbs/thread-151904-1-1.html)。
    allowAccessFromFile:false,              //(可选项)设置是否可以在本地页面中访问本地或远程资源,为保证代码安全,在开启全局加密情况下默认禁止访问。只在useWKWebView参数为true时有效。
    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及更高版本

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号