Skip to content

Conversation

@cesar128
Copy link

@cesar128 cesar128 commented Jul 8, 2024

En algunos casos, la web no carga las propiedades (como theme) porque document.currentScript es nulo.
image

Lo que hice fue, cambiar el document.currentScript por un document.getElementById y asignarle el id tambien al tag de script.

Tambien fue actualizada la documentacion para aplicar los cambios necesarios.

@plusiv plusiv requested a review from akevinieron July 8, 2024 16:18
@plusiv
Copy link
Contributor

plusiv commented Jul 8, 2024

@akevinieron tiranos un cable aquí porfa.

@akevinieron
Copy link

akevinieron commented Jul 8, 2024

Hola @cesar128, muchas gracias por este PR. Tengo una duda, cuál es la razón por la que estás proponiendo este cambio?

@cesar128
Copy link
Author

cesar128 commented Jul 8, 2024

Hola @cesar128, muchas gracias por este PR. Tengo una duda, cuál es la razón por la que estás proponiendo este cambio?

Claro @akevinieron , Lo que pasa es que, las ultimas webs que hemos desarrollado en el Lab por lo menos, utilizamos Vue + Vite, al parecer Vue carga los componentes de manera asincrona y segun lo que pude leer en diversas paginas, al ejecutar los scripts de manera asincrona el document.currentScript no carga correctamente, es nulo. Y esto, segun el codigo anterior se utiliza para obtener informacion del tema, por lo que si es nulo, el va a poner el tema por defecto en light.

image

Ejemplo con el código como está:
https://develop.carpeta-ciudadana-landing.pages.dev/#/

Ejemplo con el codigo modificado:
https://carpetaciudadanalanding.web.app/#/

Otras personas que le pasa algo similar:
https://stackoverflow.com/a/38769259

Side note:
Sería bueno establecer el color de la fuente para el tema light, ya que por ejemplo en esta pagina, se puso a nivel de layout que el texto sea blanco y como el componente no tiene color para las letras toma el del componente

@cesar128
Copy link
Author

cesar128 commented Jul 9, 2024

@akevinieron @plusiv Algun update?

@akevinieron
Copy link

Hola @cesar128, este script es utilizado por todo el Estado, no podemos hacer un cambio tan drástico sin antes hacer pruebas exhaustivas.

Propongo buscar una solución menos agresiva, posiblemente asignarle valor al currentScript cuando venga null y que el resto de la implementación siga intacta. Creo que esto disminuiría el riesgo de fallos en los clientes que lo usan actualmente.

Si te surge alguna otra idea en esta misma linea "safe", siente libre de proponerla.

Lo ideal es que se haga lo necesario para que este script pueda funcionar en Vue, tal como en su momento se hizo con React.

@akevinieron
Copy link

Hola @cesar128, algún comentario al respecto?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants