如何在Shadow dom内加载脚本?

时间:2019-02-22 19:49:47

标签: javascript

在iFrame中,加载外部脚本非常简单。例如,以下代码将加载https://www.w3schools.com index.html文件中提到的脚本。

<iframe src="https://www.w3schools.com">
  <p>Your browser does not support iframes.</p>
</iframe>

关于这一点的好处是,所有脚本的作用域都如此,即使它们公开了一些全局变量,父网站窗口对象也不会受到影响。

我想实现相同的目标,但要使用影子dom。

我的用例:

我正在创建一个图书馆。使用将仅从我的库中导入一个脚本。该脚本应该加载其他脚本,例如jquerycodemirror等。最后,第一个脚本将在Codemirror内创建一个shadow dom实例。 (应该封装所有内容,以免与用户代码混淆)

上述方法的问题在于,像jquery和codemirror这样的库会公开可能与这些库的用户实例冲突的全局变量。

因此,我想知道是否有可能从shadow dom加载外部脚本,以使我的脚本保持封装状态。

0 个答案:

没有答案