Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

124
Visualizações
¿Cómo obtener svg en línea desde un archivo svg externo con D3 v6?

Acabo de perder toda la mañana en lo que debería haber sido una tarea muy básica y directa. Lo siento si la solución a este problema es obvia para usted, estoy comenzando con D3.js y Javascript.

Estoy buscando cargar, en D3, un archivo svg externo y tenerlo como un svg en línea para realizar más operaciones, no como una imagen estática, y trabajando en archivos locales. No entiendo cómo no puede haber una manera de hacer algo tan simple y básico. He intentado todo lo que pude:

  • Usando esta biblioteca: https://github.com/iconfu/svg-inject . Esta biblioteca promete hacer exactamente lo que quiero hacer. Sin embargo, sus ejemplos básicos (sección de uso básico) me dan imágenes estáticas y no svg en línea como se prometió (con Firefox 98.0), por lo que no puedo usarlo.
  • Probé el ejemplo aquí: http://www.zevross.com/blog/2019/08/20/load-external-svgs-with-d3-v5/ (sección "Obtener los datos XML / Cargar una ilustración, una vez ") con un svg local, solo muestra una ventana en blanco; "Inspeccionar elemento" muestra que no se cargó nada
  • Soluciones como la aceptada en esta publicación ( Cómo acceder a elementos SVG con Javascript ) tampoco son útiles, ya que no funcionan en archivos locales
  • Una llamada a d3.xml ( https://bl.ocks.org/mbostock/1014829 ) también resultó ser completamente inútil, ya que no muestra nada:
 <!DOCTYPE html> <html> <head> <script src="https://d3js.org/d3.v6.min.js"></script> </head> <body> <script> d3.xml('nameOfMysvgFile.svg') .then(data => { document.body.append(data.documentElement) }) </script> </body> </html>

Hasta ahora, lo mejor que logré fue cargar mi svg como un objeto (como se hace aquí: http://dahlström.net/svg/html/get-embedded-svg-document-script.html ), y luego estoy atascado , ya que no puedo hacer ninguna operación en Javascript en ese objeto. ¿Cómo transferir el contenido del objeto a svg en línea? O como sacar ese "envoltorio" de #documento que impide hacer nada en el svg? O incluso mejor, agregar el contenido a un contenedor svg existente ( mySvgContainer.append("g").[magic command to add the contents of external svg file] )?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda