shadow DOM封装像iframe一样的javascript

时间:2017-02-06 15:50:40

标签: javascript html shadow-dom

我试图弄清楚在Shadow DOM中执行的Javascript是否可以作为范围(如sandbox property of an iframe tag does)。我不希望加载Javascript以破坏页面内容的其余部分,或者事件可以访问window.open之类的属性,这些属性最终可能会在任何地方打开标签。

如果有人有一个程序的例子,这将是一个很大的帮助。 感谢,

1 个答案:

答案 0 :(得分:0)

建议的工作解决此问题的方法是使用Custom elements并将javascript附加到one of its callbacks。正如W3C文件所述:

  

自定义元素为作者提供了构建自己的全功能DOM元素的方法。

Custom元素中封装的Javascript的

Here's an example。基本上:

var HTMLCustomElement = Object.create(HTMLElement.prototype);
HTMLCustomElement.createdCallback = function() {
// Put the callback function here and attach the HTML to the current element
// Define the element
var NewElement = document.registerElement('new-element', {
  prototype: HTMLCustomElement
});

// instanciate the custom element
var newElement = new NewElement();

document.body.appendChild(newElement);