Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

246
Views
¿Cómo agregar un script externo (desde una URL externa) al componente Vue? Agregar un elemento <script> agrega otro cada vez que se carga el componente

Estoy buscando agregar un script externo a un componente Vue. (Estoy usando <script setup> con la API de composición). Por script externo, me refiero a <script src="https://something.com/something.js"></script> , donde el src es una URL externa.

Todas las demás respuestas que encontré dicen que simplemente agregue o agregue un elemento <script> con JavaScript. El problema con esto es que cada vez que se carga o navega hacia el componente Vue, activará esta función y se agregará otra etiqueta de secuencia de comandos. Por ejemplo, si navega hacia, luego hacia afuera y luego hacia el componente 8 veces, habrá 8 etiquetas <script src="..."></script> insertadas en el DOM.

Por ejemplo,

 <script setup> addExternalScript(); function addExternalScript() { const s = document.createElement("script"); s.setAttribute("src", "https://something.com/something.js"); document.head.appendChild(s); } </script>

Agregará este elemento cada vez que se cargue el componente . Por lo tanto, si navega o carga el componente 50 veces, tendrá 50 etiquetas <script> . Puede ver esto inspeccionando el DOM.

Me pregunto si existe una forma más correcta o elegante de obtener scripts externos en los componentes de Vue. ¡Gracias!

about 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!