Lynx

<frame>

一个类似 HTML <iframe> 的页面元素,可以将一个 Lynx 页面迁入当前页面中。

使用指南

以下为主页面通过 <frame> 元素加载 frame 内嵌页面的示例

  • 主页面通过 dataglobal-props 属性向内嵌页面传递 initDataglobalProps 数据
  • 主页面通过 bindload 事件监听内嵌页面加载情况,也可以通过 bindloadmetrics 获取加载指标

主页面

frame 内嵌页面

Tip

<frame> 元件于

3.4 引入,需要使用该元件的场景,需将依赖的 Lynx 版本升级至
3.4
及以上。

Tip

3.8 开始,可以通过 auto-widthauto-height<frame> 跟随内嵌页面内容尺寸。未开启自动尺寸或低于该版本时,仍需要手动设置 frame 的宽高。首次内容尺寸未初始化前,可在
3.9
及以上通过 preset-widthpreset-height 设置预设尺寸。

属性

auto-height

Android
iOS
3.8
// @默认值: false
'auto-height'?: boolean;

使框架高度跟随嵌入的 Lynx 页面的内容高度。启用此功能后,嵌入的页面可以报告其内容大小,框架会将该值用作其测量高度。

auto-width

Android
iOS
3.8
// @默认值: false
'auto-width'?: boolean;

使框架宽度跟随嵌入的 Lynx 页面的内容宽度。启用此功能后,嵌入的页面可以报告其内容大小,框架会将该值用作其测量宽度。

data

Android
iOS
3.4
data?: Record<string, unknown>;

将数据传递给框架内嵌套的 Lynx 页面。

enable-multi-async-thread

Android
iOS
3.9
// @默认值: false
'enable-multi-async-thread'?: boolean;

覆盖内嵌 Lynx 页面是否使用多个异步线程。未设置时,frame 会继承宿主页面的配置。

global-props

Android
iOS
3.6
'global-props'?: Record<string, unknown>;

globalProps 传递给框架中嵌入的 Lynx 页面。嵌入的页面可以通过 lynx.__globalProps 读取它。

preset-height

Android
iOS
3.9
'preset-height'?: `${number}px` | `${number}rpx`;

设置内嵌 Lynx 页面收到初始化内容区域前使用的预设高度。

preset-width

Android
iOS
3.9
'preset-width'?: `${number}px` | `${number}rpx`;

设置内嵌 Lynx 页面收到初始化内容区域前使用的预设宽度。

src

Android
iOS
3.4
src: string;

设置框架资源的加载路径。

事件

前端可以绑定相应的事件回调来监听元素的运行时行为,如下所示。

bindload

Android
iOS
3.6
bindload = (e: FrameLoadEvent) => {};
字段类型是否可选默认值平台版本描述
statusCode数字
Android
iOS
3.6
3.6框架加载状态码。
statusMessage字符串
Android
iOS
3.6
3.6框架加载状态消息。
url字符串
Android
iOS
3.6
3.6框架加载的 URL。

绑定框架加载事件回调。

bindloadmetrics

Android
iOS
3.9
bindloadmetrics = (e: FrameLoadMetricsEvent) => {};
字段类型是否可选默认值平台版本描述
entryFrameLoadMetricsEntry
Android
iOS
3.9
3.9内嵌 Lynx 页面发出的原始 loadBundle 性能条目。
mode字符串
Android
iOS
3.9
3.9frame 的加载模式。
url字符串
Android
iOS
3.9
3.9frame 加载的 URL。

绑定 frame 加载指标事件回调。

兼容性

LCD tables only load in the browser

除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。