我们如何动态添加/更新元标签,以便Facebook / Whatsapp分享对话框能够获取它们?
我将我的Angular 2应用程序升级到了Angular 4,以便使用Meta服务在从API获取数据后在组件中动态添加/更新元标签。
到目前为止,在我的组件中,我有:
this.metaService.updateTag({ property: 'og:title', content: pageTitle });
this.metaService.updateTag({ property: 'og:url', 'www.domain.com/page' });
this.metaService.updateTag({ property: 'og:image', content: coverUrl, itemprop: 'image' });
this.metaService.updateTag({ property: 'og:image:url', content: coverUrl, itemprop: 'image' });
this.metaService.updateTag({ property: 'og:image:type', content: 'image/png' });
我正在使用updateTag,因为我已经添加了具有默认值的静态标签。当我检查它们时,这段代码成功地更新了meta标签的值。
我知道Facebook/Whatsapp调试工具不执行任何javascript代码,所以它可能永远不会在它们的环境中执行。
我正在使用https://developers.facebook.com/tools/debug/
,它总是选择默认的标签值,这是有道理的。
我的问题是,有什么方法可以让Facebook/Whatsapp动态地获取更新的标签值?我正在使用Angular 4,并通过API调用加载所有数据,因此在页面加载和脚本执行之前无法获取任何数据。