我们如何动态添加/更新元标记,以便 Facebook/Whatsapp 共享对话框选择它们?
我将 Angular 2 应用程序升级到 Angular 4,以便在我们从 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 是因为我已经添加了具有默认值的静态标签。当我检查元标记值时,此代码成功更新了它们。
我知道 Facebook/Whatsapp 调试器工具不执行任何 javascript,因此它可能永远不会在其环境中执行,这是有道理的。
我在用着https://developers.facebook.com/tools/debug/
它总是选择有意义的默认标签值。
我的问题是,如何让 Facebook/Whatsapp 动态获取更新的标签值?我正在使用 Angular 4 并通过 API 调用加载所有数据,因此在页面加载和脚本执行之前不可能获取任何类型的数据。