Home > SYS_IFrame > openIFrame
SYS_IFrame.openIFrame() method
此 API 当前处于 BETA 预览状态,希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改,请不要将它用于任何正式环境。
打开内联框架窗口
签名
function openIFrame(
htmlFileName: string,
width?: number,
height?: number,
id?: string,
props?: {
maximizeButton?: undefined | false | true;
minimizeButton?: undefined | false | true;
minimizeStyle?: undefined | 'collapsed' | 'constricted';
buttonCallbackFn?:
undefined | ((button: 'close' | 'minimize' | 'maximize') => void | Promise<void>);
onBeforeCloseCallFn?:
undefined | (() => boolean | undefined | Promise<boolean | undefined>);
grayscaleMask?: undefined | false | true;
title?: undefined | string;
x?: undefined | number;
y?: undefined | number;
},
): Promise<boolean>;2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
参数名
参数 | 类型 | 描述 |
|---|---|---|
htmlFileName | string | 需要加载的 HTML 文件在扩展包内的路径,从扩展根目录起始,例如 |
width | number | (可选) 内联框架窗口的宽度 |
height | number | (可选) 内联框架窗口的高度 |
id | string | (可选) 内联框架窗口 ID,用于关闭内联框架窗口 |
props | { maximizeButton?: undefined | false | true; minimizeButton?: undefined | false | true; minimizeStyle?: undefined | 'collapsed' | 'constricted'; buttonCallbackFn?: undefined | ((button: 'close' | 'minimize' | 'maximize') => void | Promise<void>); onBeforeCloseCallFn?: undefined | (() => boolean | undefined | Promise<boolean | undefined>); grayscaleMask?: undefined | false | true; title?: undefined | string; x?: undefined | number; y?: undefined | number } | (可选) 其它参数 |
返回值
Promise<boolean>
操作是否成功
备注
本接口仅扩展包允许调用,用户需要在扩展包内包含用于内联的 HTML 文件;
本接口调用后将会打开一个 Dialog 窗口,该 Dialog 窗口的标题为 HTML 文件的 <title>,标题栏有关闭按钮;
正文部分为内联框架,width 和 height 均为正文部分内联框架的宽高;
内联框架需要展示 htmlFileName 的内容,该 HTML 从扩展包内获取,并已在安装时被存储至 IndexedDB 中
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
示例
// 1. 打开一个带标题和最大化/最小化按钮的内联框架窗口(自建 ID 便于后续定位)
const opened = await eda.sys_IFrame.openIFrame('/extension.json', 360, 240, '嘉立创示例_窗口', {
title: '嘉立创示例 内联框架窗口',
minimizeButton: true,
maximizeButton: true,
grayscaleMask: false,
});
console.log('打开结果:', opened);
// 2. 关闭刚才打开的窗口还原界面(自建自删,保证案例可重复运行)
const closed = await eda.sys_IFrame.closeIFrame('嘉立创示例_窗口');
console.log('关闭结果:', closed);2
3
4
5
6
7
8
9
10
11
12