Angular 角度通用-动态元标记不适用于社交媒体共享
我有一个基于Angular 5和Angular Universal构建的应用程序,带有服务器端渲染 对于主页,我已经将标题固定为“ABC”,并且在加载应用程序时,我调用了一个构造函数,该构造函数更新了fb和其他社交媒体应用程序的标题和元信息 加载网站时,标签会更新,但当我在facebook调试器工具上删除网站时,它不会显示更新的标签Angular 角度通用-动态元标记不适用于社交媒体共享,angular,angular5,angular-universal,Angular,Angular5,Angular Universal,我有一个基于Angular 5和Angular Universal构建的应用程序,带有服务器端渲染 对于主页,我已经将标题固定为“ABC”,并且在加载应用程序时,我调用了一个构造函数,该构造函数更新了fb和其他社交媒体应用程序的标题和元信息 加载网站时,标签会更新,但当我在facebook调试器工具上删除网站时,它不会显示更新的标签 Following code runs on ngOnInit(){ this.title.setTitle('ABC - XYX'); this.
Following code runs on ngOnInit(){
this.title.setTitle('ABC - XYX');
this.meta.updateTag({name: 'author',content: "ABC.com"});
this.meta.updateTag({name: 'description',content: "ABC - XYX | ABC - XYX "});
this.meta.updateTag({ property: 'og:type', content: 'website' });
this.meta.updateTag({ property: 'og:site_name', content: 'ABC.com' });
this.meta.updateTag({ property: 'og:title', content: 'ABC - XYX' });
this.meta.updateTag({ property: 'og:description', content: 'ABC - XYX | ABC - XYX' });
this.meta.updateTag({ property: 'og:url', content: "http://abc[dot]com" });
}
有人能帮我解释一下我做错了什么吗?这些元数据是在页面呈现后添加到DOM中的,因此大多数社交媒体都看不到这些元数据 一种解决方案可能是在服务器端使用
在线阅读时,我看到有人建议使用*.htaccess*将所有请求重定向到添加元标记的php脚本。在通用集成之后,我也面临同样的问题。只需创建universal-interceptor.ts文件并添加到appServerModule.ts文件中。您可以查看下面的链接以了解它是如何实现的,它将解决此问题因此,如果您查看特定页面的页面源代码(ctrl+U),“您的元错误?@David在页面上,元标记已正确更新,但当我转到facebook社交调试器时,这些标记将不会被提取。如果您在查看源代码时有正确的标记,则这不是问题。@David有任何关于在何处查找此解决方案的指针。”。如果不是棱角分明,还有什么原因呢?如果你能帮忙的话,我可以分享我的测试服务器url。你能在源页面(ctrl+u)上显示元数据的截图吗?