我有一个 v0/Polymer 1 Web 组件,我正在升级到 v1/Polymer 2。这个 Web 组件动态构建一个加载外部 JavaScript 文件的 URI。外部 JavaScript 文件运行并将一个加载<iframe>
到<div>
我的组件中。这个外部 JS 包含document.getElementById
加载<iframe>
到指定的<div>
.
我已经搜索并没有找到一种方法来强制将<div>
元素暴露/放置在阴暗的 DOM中。我已经读过,如果我设计没有影子 DOM的组件,则不会显示任何内容。
无论如何我可以使用外部脚本(第三方)将其更新到 Web 组件 v1/Polymer 2 仍document.getElementbyId
用于修改<div>
Web 组件内部吗?
更新
我发现我可以强制 webcomponents 使用 shadow dom <script>window.ShadyDOM = { force: true };</script>
,<script src="/bower_components/webcomponentsjs/webcomponents-lite.js" shadydom></script>
但是我仍然无法通过 ID 访问元素,并且我不想强制所有其他 webcomponents 使用 shady DOM。仍在寻找可能性。