Home > SYS_IFrame > closeIFrame
SYS_IFrame.closeIFrame() method
此 API 当前处于 BETA 预览状态,希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改,请不要将它用于任何正式环境。
关闭内联框架窗口
签名
typescript
function closeIFrame(id?: string): Promise<boolean>;1
参数名
参数 | 类型 | 描述 |
|---|---|---|
id | string | (可选) 内联框架窗口 ID,未传入时将关闭由本扩展打开的所有内联框架窗口 |
返回值
Promise<boolean>
操作是否成功
备注
关闭指定 ID 的内联框架窗口
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
示例
javascript
// 1. 打开两个内联框架窗口(自建 fixture,演示按 ID 定向关闭)
await eda.sys_IFrame.openIFrame('/extension.json', 300, 200, '嘉立创示例_窗口A', { title: '嘉立创示例 窗口A' });
await eda.sys_IFrame.openIFrame('/extension.json', 300, 200, '嘉立创示例_窗口B', { title: '嘉立创示例 窗口B' });
console.log('已打开两个窗口:嘉立创示例_窗口A / 嘉立创示例_窗口B');
// 2. 按 ID 关闭指定窗口
const closedById = await eda.sys_IFrame.closeIFrame('嘉立创示例_窗口A');
console.log('按 ID 关闭窗口 A 结果:', closedById);
// 3. 不传 id,关闭本扩展打开的全部剩余窗口(清理窗口 B,还原界面)
const closedAll = await eda.sys_IFrame.closeIFrame();
console.log('关闭全部剩余窗口结果:', closedAll);
// 4. 对已不存在的窗口再关闭一次,验证幂等语义(返回 true 而非 false)
const closedAgain = await eda.sys_IFrame.closeIFrame('嘉立创示例_窗口A');
console.log('重复关闭已关窗口结果:', closedAgain);1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16