APICLOUD中視窗通訊技術總結

2021-09-03 03:34:54 字數 2217 閱讀 9005

api.execscript()

在指定 window 或者 frame 中執行指令碼,對於 framegroup 裡面的 frame 也有效,若 name 和 framename 都未指定,則在當前 window 中執行指令碼,具體執行邏輯見補充說明。

execscript()

name:

framename:

script:

//在當前window中執行jsfun指令碼

var jsfun = 'funcgoto();';

api.execscript();

//在當前window中找到名為frmname的frame,並在該frame中執行jsfun指令碼

var jsfun = 'funcgoto();';

api.execscript();

//在名為winname的window中執行jsfun指令碼

var jsfun = 'funcgoto();';

api.execscript();

//在名為winname的window中找到名為frmname的frame,並在該frame中執行jsfun指令碼

var jsfun = 'funcgoto();';

api.execscript();

統一處理邏輯為:exec->window->frame

name 引數: 當 name 不傳值,或者傳空字串的情況下,execscript 物件為呼叫 execscript 的window(該 window 可能位於螢幕或者後台),在該 window 中繼續 framename 的邏輯; 當 name 傳值且非空字串,但並未找到名為 name 的 window,則直接返回不處理(不論 framename 是否有值)。若找到了對應的 window,則在該 window 中繼續 framename 的邏輯;

framename 引數: 當 framename 不傳值,或者傳空字串的情況下,execscript 物件為呼叫 execscript 的 window(該 window 可能位於螢幕或者後台),在該 window 中執行 script; 當 framename 傳值且非空字串,但並未找到名為 framename 的 frame,則直接返回不處理。若找到了該 frame,則在該 frame 中執行 script。

ios系統,android系統

可提供的1.0.0及更高版本

api.sendevent();

將任意乙個自定義事件廣播出去,該事件可在任意頁面通過 addeventlistener 監聽收到。

sendevent()

name

extra

api.sendevent(

});//html頁面a:

api.addeventlistener(, function(ret, err) );

//html頁面b:

api.addeventlistener(, function(ret, err) );

//a、b頁面都將收到 myevent 事件

ios系統,android系統

可提供的1.0.0及更高版本

事件名稱全部小寫

7.2.6 自定義

監聽事件,支援系統事件和自定義事件

addeventlistener(, callback(ret, err))

name:

型別:字串 預設值:無 描述:自定義事件或系統事件名稱(詳見事件)

//如監聽網路連線事件

api.addeventlistener(, function(ret, err) );

監聽事件

ios系統,android系統

可提供的1.0.0及更高版本

ret:

extra:

移除事件監聽

removeeventlistener()

name:

型別:字串 預設值:無 描述:自定義事件或系統事件名稱(詳見事件)

ios系統,android系統

可提供的1.0.0及更高版本

api.removeeventlistener();
停止監聽事件

APICloud 入門教程視窗篇

api.openwin開啟乙個window視窗。window視窗是全屏的,不可設定大小。api.openframe開啟乙個frame視窗。frame 視窗可以設定大小。openwin示例 api.openwin firstpage.html 頁面 doctype html html lang en ...

apiCloud中的API物件

1.屬性 apiready function json用於獲取頁面間傳遞的引數值,為 openwin openframe 等方法中的 pageparam 引數對應值 var wgtparam api.wgtparam 比如 用於獲取 widget 間傳遞的引數值,為 openwidget 方法中的 ...

apicloud中的sqlite操作模組db

db 模組封裝了手機常用資料庫 sqlite 的增刪改查語句,可實現資料的本地儲存,極大的簡化了資料持久化問題。1.執行 var db api.require db db.executesql function ret,err else 執行案例 function dbexecutesql sqli...