openFrame

2022-06-13 10:30 更新

打開 frame

若 frame 已存在,則會把該窗口顯示到最前面并顯示,如果 url 和之前的 url 有變化,或者 reload 為 true 時,頁面會刷新

此方法對 frameGroup 里面的 frame 不起作用

openFrame({params})

params

name:

  • 類型:字符串
  • 默認(rèn)值:無
  • 描述:frame 名字

url:

  • 類型:字符串
  • 默認(rèn)值:無
  • 描述:頁面地址,可以為本地文件路徑,支持相對路徑和絕對路徑,以及 widget://、fs://等協(xié)議路徑,也可以為遠(yuǎn)程地址。 當(dāng)data參數(shù)不為空時,url將做為baseUrl,data中的html引用的資源文件根路徑以該url為基礎(chǔ)。

data:

  • 類型:字符串
  • 默認(rèn)值:無
  • 描述:(可選項)頁面加載的數(shù)據(jù)內(nèi)容,可以為html片段或者整張html文件的數(shù)據(jù)

headers:

  • 類型:JSON 對象
  • 默認(rèn)值:無
  • 描述:(可選項)請求頭

avm:

  • 類型:布爾
  • 默認(rèn)值:若在config.xml里面配置了avm字段,則默認(rèn)值為配置的值,否則為false
  • 描述:(可選項)是否使用原生引擎來加載頁面,頁面必須是使用avm框架語法生成。

useWKWebView:

  • 類型:布爾
  • 默認(rèn)值:false
  • 描述:(可選項)是否使用WKWebView來加載頁面。參考WKWebView介紹。

allowAccessFromFile:

  • 類型:布爾
  • 默認(rèn)值:全局加密下為false
  • 描述:(可選項)設(shè)置是否可以在本地頁面中訪問本地或遠(yuǎn)程資源,為保證代碼安全,在開啟全局加密情況下默認(rèn)禁止訪問。只在useWKWebView參數(shù)為true時有效。

historyGestureEnabled:

  • 類型:布爾
  • 默認(rèn)值:false
  • 描述:(可選項)是否可以通過手勢來進(jìn)行歷史記錄前進(jìn)后退,只在useWKWebView參數(shù)為true時有效。

syncCookie:

  • 類型:布爾
  • 默認(rèn)值:true
  • 描述:(可選項)是否自動同步WKWebView外部如ajax產(chǎn)生的Cookie到WKWebView中,只在useWKWebView參數(shù)為true時有效。

pageParam:

  • 類型:JSON 對象
  • 默認(rèn)值:無
  • 描述:(可選項)頁面參數(shù),在新頁面通過 api.pageParam 獲取

bounces:

  • 類型:布爾
  • 默認(rèn)值:若在 config.xml 里面配置了 pageBounce,則默認(rèn)值為配置的值,否則為 true
  • 描述:(可選項)頁面是否彈動。注意如果頁面使用了上拉、下拉刷新等功能,該屬性可能會被刷新組件重新設(shè)置。

bgColor:

  • 類型:字符串
  • 默認(rèn)值:若在 config.xml 里面配置了 frameBackgroundColor,則默認(rèn)值為配置的值,否則透明
  • 描述:(可選項)背景色,支持圖片和顏色,格式為#fff、#ffffff、rgba(r,g,b,a)等,圖片路徑支持fs://、widget://等 APICloud 自定義文件路徑協(xié)議,同時支持相對路徑

scrollToTop:

  • 類型:布爾
  • 默認(rèn)值:true
  • 描述:(可選項)當(dāng)點擊狀態(tài)欄,頁面是否滾動到頂部。若當(dāng)前屏幕上不止一個頁面的 scrollToTop 屬性為 true,則所有的都不會起作用。只iOS有效

scrollEnabled:

  • 類型:布爾
  • 默認(rèn)值:true
  • 描述:(可選項)頁面內(nèi)容超出后是否可以滾動,只支持iOS

vScrollBarEnabled:

  • 類型:布爾
  • 默認(rèn)值:true
  • 描述:(可選項)是否顯示垂直滾動條

hScrollBarEnabled:

  • 類型:布爾
  • 默認(rèn)值:true
  • 描述:(可選項)是否顯示水平滾動條

scaleEnabled:

  • 類型:布爾
  • 默認(rèn)值:false
  • 描述:(可選項)頁面是否可以縮放

fixedOn:

  • 類型:字符串
  • 默認(rèn)值:若當(dāng)前在tabLayout組件中為ui_layout,否則為ui_window
  • 描述:(可選項)frame所要添加到的目標(biāo)頁面。
  • 取值范圍:

ui_window    //頁面添加到當(dāng)前window中。若當(dāng)前在tabLayout組件中,頁面只能添加到navigationBar和tabBar之間的區(qū)域,無法覆蓋在navigationBar、tabBar之上。
ui_layout    //頁面添加到當(dāng)前tabLayout中。此時頁面能夠添加到tabLayout中任意位置,能夠覆蓋在navigationBar、tabBar之上,只在tabLayout組件中有效。

rect:

  • 類型:JSON 對象
  • 默認(rèn)值:充滿整個父頁面
  • 描述:(可選項)設(shè)置頁面的位置和大小。如果要固定寬高則使用x、y、w、h等參數(shù);如果要自適應(yīng)狀態(tài)欄高度變化、橫豎屏切換等,則需要使用margin相關(guān)參數(shù),不能使用w、h固定寬高。推薦使用margin相關(guān)參數(shù)來布局。
  • 內(nèi)部字段:

{
    x:,             //左上角x坐標(biāo),數(shù)字類型
    y:,             //左上角y坐標(biāo),數(shù)字類型
    w:,             //寬度,若傳'auto',頁面從x位置開始自動充滿父頁面寬度,數(shù)字或固定值'auto'
    h:,             //高度,若傳'auto',頁面從y位置開始自動充滿父頁面高度,數(shù)字或固定值'auto'


    marginLeft:,    //相對父頁面左外邊距的距離,數(shù)字類型
    marginTop:,     //相對父頁面上外邊距的距離,數(shù)字類型
    marginBottom:,  //相對父頁面下外邊距的距離,數(shù)字類型
    marginRight:    //相對父頁面右外邊距的距離,數(shù)字類型
}

progress:

  • 類型:JSON 對象
  • 默認(rèn)值:無
  • 描述:(可選項)頁面加載進(jìn)度配置信息,若不傳則無加載進(jìn)度效果
  • 內(nèi)部字段:

{
    type:            //加載進(jìn)度效果類型,默認(rèn)值為 default,取值范圍為 default|page,為 page 時,進(jìn)度效果為仿瀏覽器類型,固定在頁面的頂部
    title:           //type 為 default 時顯示的加載框標(biāo)題,字符串類型
    text:            //type 為 default 時顯示的加載框內(nèi)容,字符串類型
    color:           //type 為 page 時進(jìn)度條的顏色,默認(rèn)值為 #45C01A,支持#FFF,#FFFFFF,rgb(255,255,255),rgba(255,255,255,1.0)等格式
    height:          //type 為 page 時進(jìn)度條高度,默認(rèn)值為3,數(shù)字類型
}

reload:

  • 類型:布爾
  • 默認(rèn)值:false
  • 描述:(可選項)頁面已經(jīng)打開時,是否重新加載頁面

allowEdit:

  • 類型:布爾
  • 默認(rèn)值:false
  • 描述:(可選項)是否允許長按頁面時彈出選擇菜單

softInputMode:

  • 類型:字符串
  • 默認(rèn)值:auto
  • 描述:(可選項)當(dāng)鍵盤彈出時,輸入框被蓋住時,當(dāng)前頁面的調(diào)整方式,只iOS有效,Android請在 config.xml 里面配置并云編譯使用

softInputDismissMode:

  • 類型:字符串?dāng)?shù)組
  • 默認(rèn)值:['tap']
  • 描述:(可選項)收起鍵盤的方式,只iOS有效。
  • 取值范圍:

tap              //點擊頁面收起鍵盤,可以和drag或interactive同時使用
drag             //拖拽頁面時收起鍵盤,可以和tap同時使用
interactive      //在鍵盤和頁面交界處上下滑動收起鍵盤,可以和tap同時使用

softInputBarEnabled:

  • 類型:布爾
  • 默認(rèn)值:true
  • 描述:(可選項)是否顯示鍵盤上方的工具條。只支持iOS

overScrollMode:

  • 類型:字符串
  • 默認(rèn)值:never
  • 描述:(可選項)設(shè)置頁面滾動到頭部或尾部時,顯示回彈陰影效果的模式,僅Android有效。
  • 取值范圍:

never            //永遠(yuǎn)不顯示
always           //總是顯示
scrolls          //只有當(dāng)頁面內(nèi)容超出設(shè)備屏幕大小,發(fā)生滾動行為時顯示,建議設(shè)置為該模式。

dragAndDrop:

  • 類型:布爾
  • 默認(rèn)值:false
  • 描述:(可選項)是否允許iOS 11及以上系統(tǒng)中頁面元素默認(rèn)的拖拽行為。只支持iOS

animation:

  • 類型:JSON 對象
  • 默認(rèn)值:無
  • 描述:(可選項)動畫參數(shù),不傳時無動畫
  • 內(nèi)部字段:

{
    type:"none",                //動畫類型(詳見動畫類型常量)
    subType:"from_right",       //動畫子類型(詳見動畫子類型常量)
    duration:300                //動畫過渡時間,默認(rèn)300毫秒
}


type 取值范圍:


none            //無動畫效果
push            //新視圖將舊視圖推開
movein          //新視圖移到舊視圖上面
fade            //交叉淡化過渡(不支持過渡方向)
flip            //翻轉(zhuǎn)效果
reveal          //將舊視圖移開,顯示下面的新視圖
ripple          //滴水效果(不支持過渡方向)
curl            //向上翻一頁
un_curl         //向下翻一頁
suck            //收縮效果(不支持過渡方向)
cube            //立方體翻滾效果


subType 取值范圍:


from_right      //從右邊開始動畫
from_left       //從左邊開始動畫
from_top        //從頂部開始動畫
from_bottom     //從底部開始動畫

defaultRefreshHeader:

  • 類型:字符串
  • 默認(rèn)值:pull
  • 描述:(可選項)設(shè)置使用默認(rèn)下拉刷新類型,取值范圍:pull、swipe

customRefreshHeader:

  • 類型:字符串
  • 默認(rèn)值:無
  • 描述:(可選項)設(shè)置使用自定義下拉刷新模塊的名稱,設(shè)置后可以使用 api.setCustomRefreshHeaderInfo 方法來使用自定義下拉刷新組件

示例代碼

api.openFrame({
    name: 'page2',
    url: './page2.html',
    rect: {
        x: 0,
        y: 0,
        w: 'auto',
        h: 'auto'
    },
    pageParam: {
        name: 'test'
    }
});

可用性

iOS系統(tǒng),Android系統(tǒng)

可提供的1.0.0及更高版本

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號