<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 的浏览器中加载。