Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 当我在WhatsApp上共享链接时,动态添加的元标记不会显示图像、描述和标题。(2)_Angular - Fatal编程技术网

Angular 当我在WhatsApp上共享链接时,动态添加的元标记不会显示图像、描述和标题。(2)

Angular 当我在WhatsApp上共享链接时,动态添加的元标记不会显示图像、描述和标题。(2),angular,Angular,我可以动态设置元标记,当我检查元素时,我可以看到这些元标记,但当我通过whats应用程序共享链接(在其中动态设置元标记)时,则不会显示描述、标题和图像。谁能告诉我我错在哪里?我正在研究Angular 2 这就是我在组件中设置meta标记的方式 var link = <HTMLMetaElement>document.createElement('meta'); link.setAttribute('property', 'og:url'); link.content = "https

我可以动态设置元标记,当我检查元素时,我可以看到这些元标记,但当我通过whats应用程序共享链接(在其中动态设置元标记)时,则不会显示描述、标题和图像。谁能告诉我我错在哪里?我正在研究Angular 2

这就是我在组件中设置meta标记的方式

var link = <HTMLMetaElement>document.createElement('meta');
link.setAttribute('property', 'og:url');
link.content = "https://www.test.com/";
document.getElementsByTagName('head')[0].appendChild(link);

var link = <HTMLMetaElement>document.createElement('meta');
link.setAttribute('property', 'og:description');
link.content = "test description";
document.getElementsByTagName('head')[0].appendChild(link);

var link = <HTMLMetaElement>document.createElement('meta');
link.setAttribute('property', 'og:image');
link.content = "https://imgurl";
document.getElementsByTagName('head')[0].appendChild(link);
var link=document.createElement('meta');
setAttribute('property','og:url');
link.content=”https://www.test.com/";
document.getElementsByTagName('head')[0].appendChild(链接);
var link=document.createElement('meta');
setAttribute('property','og:description');
link.content=“测试描述”;
document.getElementsByTagName('head')[0].appendChild(链接);
var link=document.createElement('meta');
setAttribute('property','og:image');
link.content=”https://imgurl";
document.getElementsByTagName('head')[0].appendChild(链接);

在客户端动态添加/更改meta标记不会产生任何效果。这是因为Facebook、twitter、whatsapp等不运行脚本来创建富对象链接

如果您的web应用程序需要执行相同的操作,则应在服务器端执行此类渲染。通过运行命令
ng add@angular/universal

然后在页面级组件上,使用名为Meta的服务