【发布时间】:2021-06-09 08:05:55
【问题描述】:
我有一个应用程序,我在其中加载了一些自定义元素(通过 js 文件)并添加了 iframe 并在 iframe 中加载了一个页面。
是否可以在不添加自定义元素js文件引用的情况下复制框架窗口内的所有自定义元素?
【问题讨论】:
我有一个应用程序,我在其中加载了一些自定义元素(通过 js 文件)并添加了 iframe 并在 iframe 中加载了一个页面。
是否可以在不添加自定义元素js文件引用的情况下复制框架窗口内的所有自定义元素?
【问题讨论】:
customElementsRegistry 是一个窗口全局对象
IFrame 是另一个窗口
所以他们不共享注册表/自定义元素
关于Scoped Registries的讨论正在进行中
https://github.com/WICG/webcomponents/issues/716
但这更多的是关于一个窗口/文档
中的多个注册表您的 IFrame 场景不太可能得到解决;
所以只需将您的 elements.js 添加到 IFrame 中加载的 HTML 文件中
【讨论】:
element.js,因此在 IFrame 中重用它几乎不会产生影响。想想你的组件,比如图像......你不会跳过篮球从不同的地方读到你的[公司标志]。这就是您现在想要做的......而不是从其原始源定义组件,您现在希望父窗口成为源。 KISS - 保持简单 S....
element.js 视为您的 [公司徽标] 图像文件.. 您也使用相同的 URI(我希望).. 您没有调用父窗口(使用徽标的位置)并提取 IMG 二进制数据进入您的 IFrame。