показать метаданные определенной веб-страницы в Facebook поделиться предварительным просмотром в Angular 9 - PullRequest
1 голос
/ 21 июня 2020

Я пытаюсь поделиться определенной веб-страницей моего проекта angular 9 на Facebook, используя этот общий URL:

<a target="_blank" href='{{ "https://www.facebook.com/sharer/sharer.php?u="+recipeDetails?.web_link }}'>

Я также обновляю метатеги в компоненте с помощью Meta:

this.metaService.updateTag({ property: "og:title", content: "Title goes here"});
this.metaService.updateTag({ property: "og:description", content: "Description goes here"});
this.metaService.updateTag({ property: "og:url", content: "Url goes here"});
this.metaService.updateTag({ property: "og:image", content: "Image url goes here"});

Веб-страница показывает мне метатеги, когда я проверяю элементы в браузере. Но поскольку angular - одностраничное приложение, браузер показывает мне исходные метаданные, назначенные из index. html, пока я просматриваю исходный код страницы из браузера. В результате, когда я делюсь определенной веб-страницей на Facebook, предварительный просмотр общего доступа Facebook показывает мне исходные метаданные, которые назначаются из index. html, кроме обновленных метаданных.

Мой вопрос: как Могу ли я показать свои обновленные метаданные в предварительном просмотре Facebook?

Ответы [ 2 ]

3 голосов
/ 22 июня 2020

Вы должны включить рендеринг на стороне сервера , чтобы решить эту проблему. Facebook не запускает ваш код JavaScript, они используют свой парсер для сбора данных вашей общей ссылки. И если у вас нет рендеринга на стороне сервера, они не могут очистить данные и всегда будут отображать метаданные вашей домашней страницы. Так что включите ssr и попробуйте.

1 голос
/ 21 июня 2020

Вы не можете показать свои обновленные метаданные в предварительном просмотре общего ресурса facebook, потому что он принимает только начальные метаданные, которые вы установили. Зачем? потому что предварительный просмотр facebook share не запускает ваш javascript код

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...