2017-02-06 4 views
1

Я пытаюсь выяснить, может ли Javascript, выполняемый в Shadow DOM (в том числе sandbox property of an iframe tag does). Я не хочу, чтобы Javascript загружался, чтобы помешать остальной части содержимого страницы, или событие имеет доступ к таким свойствам, как window.open, которые в конечном итоге могут в конечном итоге открывать вкладки.shadow DOM, инкапсулирующий javascript как iframe

Было бы очень полезно, если у кого-нибудь есть пример процедуры для этого. спасибо,

+0

Нет, это не является частью того, что теневая DOM не делает (и даже если это так, вы должны не выполнится ненадежного кода «которые могли бы в конечном итоге открывать вкладки везде»). –

+0

arf. Спасибо Иордании. Я оставляю вопрос открытым в случае изменений в версиях futur. –

+0

положить изолированный iframe в теневой дом ... – Supersharp

ответ

0

Предлагаемая работа. Для решения этой проблемы необходимо использовать Custom elements и прикрепить javascript к one of its callbacks. Как указано в документации W3C:

Пользовательские элементы предоставляют авторам возможность создавать собственные полнофункциональные элементы DOM.

Here's an example инкапсулированного Javascript в пользовательском элементе. В основном:

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); 
Смежные вопросы