<portal>: Portal 元素

实验性: 这是一个 实验性技术
在生产环境中使用此功能之前,请仔细检查 浏览器兼容性表

<portal> HTML 元素允许将另一个 HTML 页面嵌入到当前页面中,以实现更流畅的页面导航。

<portal><iframe> 类似。<iframe> 允许嵌入单独的 浏览上下文。但是,<portal> 的嵌入内容比 <iframe> 更有限。它不能进行交互,因此不适合将小部件嵌入到文档中。相反,<portal> 充当另一个页面的内容预览。它可以进行导航,从而实现与嵌入内容的无缝过渡。

属性

此元素包含 全局属性

referrerpolicy

设置 引用者策略,在请求 src 属性值指定的 URL 页面时使用。

src

要嵌入的页面的 URL。

无障碍

<portal> 元素所显示的预览不是交互式的,因此不会接收输入事件或焦点。 因此,门户的嵌入内容不会作为 可访问性树 中的元素显示。 可以像按钮一样导航到门户并激活它,单击门户时的默认行为是激活它。

门户将被赋予一个默认标签,该标签是嵌入页面的标题。 如果没有标题,则将连接预览中的可见文本以创建标签。 可以使用 aria-label 属性来覆盖此标签。

仅用于预渲染的门户应使用隐藏的 HTML 属性或带有 none 值的 CSS display 属性隐藏。

在使用门户激活期间的动画时,应尊重 prefers-reduced-motion 媒体特征

示例

基本示例

以下示例将把 https://example.com 的内容嵌入为预览。

html
<portal id="exampleportal" src="https://example.com/"></portal>

技术摘要

隐式 ARIA 角色 按钮
DOM 接口 HTMLPortalElement

规范

规范
门户
# the-portal-element

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。