Creé un shadow dom en javascript y todo funciona según lo previsto. Excepto que quiero agregarle un script JS remoto y consumir una función que contiene. Pero no sé cómo hacer esto.
Este es un fragmento de código que uso para la creación de mi shadow DOM:
var shadowDom = this.attachShadow({ mode: 'open' }); var html = "<div class='stuff'>Hi!</div>"; let wrapper = document.createElement('div'); wrapper.innerHTML = html; const js = document.createElement('script'); js.setAttribute('src', 'http://mywebsite.com/js/code.js'); shadowDom.appendChild(js); shadowDom.appendChild(wrapper);
El script code.js incluye:
function test() { alert("ok"); }
¿Cómo puedo llamar a la función test() una vez que agregué el código.js a mi shadow DOM dentro del script de mi widget?
Gracias
La forma más fácil de llamar automáticamente a una función es usar la siguiente sintaxis en su código importado.
function test() { alert("ok"); }()
Esto debería ejecutar la función tan pronto como se evalúe el código.