跳到主要内容

Sample 合同 · MD 指令 · ARC 2.0.0-beta.28

`::embed`

将受支持的 URL 嵌入为沙箱 frame 或 media 块,并记录拒绝时的 fallback。

Web Device Markdown 指令——不是 AUP primitive;不是 theme/site layout 组件。

Sample 合同

字段值
目的在内容 Markdown 中嵌入受支持的外部或同源 URL
边界提供方受限(YouTube、X/Twitter status、经验证同源);不是通用 iframe API
作者入口::embed{url=…} 或独立可识别 URL
表面Web Device document(受限 frame 路径)
公共状态released
Fallback / 失败未识别或被拒绝的 URL → 普通链接 / 无 embed 描述
验证下方路由 · arc --version = 2.0.0-beta.28

Sample

源码:

markdown
::embed{url="https://youtu.be/jNQXAC9IVRw"}

渲染:

当前 renderer 将此受支持 URL 变为响应式、懒加载、沙箱第三方 iframe。未识别 URL 保持普通链接。

失败与限制

情形预期结果
未识别 host / URL 形状普通链接;无 embed chrome
期望任意特权 iframe超出合同(allowSameOrigin / 白名单规则另表)
同源路径未验证拒绝或链接 fallback

验证证据

项值
基线2026-08-09 · arc --version → 2.0.0-beta.28
能力行docs/aup/capability-matrix.md §6 · ::embed · widget frame
实现content-reader.ts · content-embed.ts(youtube / twitter / internal)· renderer/primitives/frame.ts
公开路由/en/docs/web-device/markdown/embed/ · /zh/docs/web-device/markdown/embed/
本地运行arc service start --blocklet blocklets/arcblock --port 4900 · 打开路由;拒绝路径保持链接
接受标准受支持 URL 可嵌入;不受支持保持链接;无通用 iframe 声明

相关