Estoy tratando de hacer un marco web y una característica será una herramienta de administración de estado de clave-valor. Necesito que la segunda etiqueta <script> se ejecute solo después de que se cargue ./script.js .
índice.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="./framework.js"></script> </head> <body> <p f-text="name"></p> <script> Framework.store('name', 'Joe'); </script> </body> </html>framework.js:
document.querySelectorAll('*').forEach((element) => { if (element.hasAttribute('f-text')) { const textValue = element.getAttribute('f-text'); const key = window.fStore.find((x) => x.key === textValue); element.innerHTML = key.value; } }); window.Framework = { store: (key, value?) => { if (!value) { const foundKey = window.fStore.find((x) => x.key === key); return foundKey.value; } window.fStore = [...window.fStore, { key: key, value: value }]; } }Error:
SyntaxError: Unexpected token ')' at /framework.js:12:22 ReferenceError: Framework is not defined at /:12:5Debe esperar a que se cargue su script, puede usar esto
window.addEventListener('load', function() { Framework.store('name', 'Joe'); })