我试图弄清楚在Shadow DOM中执行的Javascript是否可以作为范围(如sandbox property of an iframe tag does)。我不希望加载Javascript以破坏页面内容的其余部分,或者事件可以访问window.open
之类的属性,这些属性最终可能会在任何地方打开标签。
如果有人有一个程序的例子,这将是一个很大的帮助。 感谢,
答案 0 :(得分:0)
建议的工作解决此问题的方法是使用Custom elements并将javascript附加到one of its callbacks。正如W3C文件所述:
Custom元素中封装的Javascript的自定义元素为作者提供了构建自己的全功能DOM元素的方法。
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);