es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Añadir la ruta completa al atributo base href en Angular.

Quiero obtener el base href en Angular, incluyendo el dominio (o subdominio).

Caso de uso:

Quiero agregar la propiedad ogg:image usando el servicio Meta.
El contenido actual se ve así: /image.jpg, pero quiero que sea https://example.com/image.jpg para que pueda ser recuperado correctamente por las plataformas de redes sociales.

Nota: Utilizo SSR.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para obtener la ruta base en Angular, incluyendo el dominio (o subdominio), al utilizar el renderizado en el lado del servidor (SSR), puedes utilizar el token DOCUMENT proporcionado por @angular/platform-browser.

    Aquí tienes un ejemplo de implementación para utilizarlo en tu componente o servicio:

    import { Component, Inject } from '@angular/core';
    import { DOCUMENT } from '@angular/platform-browser';
    
    @Component({
      selector: 'app-root',
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.css']
    })
    export class AppComponent {
    
      constructor(@Inject(DOCUMENT) private readonly document: Document) {}
    
      ngOnInit() {
        const baseHref = this.document.getElementsByTagName('base')[0].getAttribute('href');
        const imageUrl = `${this.document.location.protocol}//${this.document.location.hostname}${baseHref}/image.jpg`;
        // utiliza la imageUrl con el servicio Meta
      }
    }
    

    En este ejemplo, estamos utilizando el token DOCUMENT para acceder al objeto documento que contiene la etiqueta base en su sección head. Luego extraemos el atributo href de la etiqueta base y lo concatenamos con el dominio y la ruta de imagen deseada para obtener la URL completamente calificada.

Comments are closed.