经过三天的研究,找到了 facebook 分享动态内容的解决方案
在 index.html 中:
<meta property="og:type" content="website" />
<meta name="fbDescription" property="og:description" content="desc">
<meta name="fbJobTitle" property="og:title" content="title">
<meta property="fb:app_id" content="ur app id" />
<meta name="fbImage" property="og:image" content="url">
<meta property="og:site_name" content="site name" />
安装 npm 包
npm i --save ngx-facebook
在你的 app.module 中
import { FacebookModule } from 'ngx-facebook';
imports:[FacebookModule.forRoot()] // donot forget to add
在您的服务或组件中添加
import { Meta } from '@angular/platform-browser';
providers: [ApiService, CommonDataService, FacebookService]
constructor(private fbk: FacebookService){
fbk.init({
appId: 'yourappid', cookie: true, status: true, xfbml: true, version: 'v2.8'
});
}
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id))
return;
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
在你的按钮点击函数中添加
this.meta.updateTag({ property: 'og:type', content: 'website' });
this.meta.updateTag({ property: 'og:site_name', content: 'websitename' });
this.meta.updateTag({ property: 'og:title', content: 'title'});
this.meta.updateTag({ property: 'og:description', content: 'Description'});
this.meta.updateTag({ property: 'og:image', content: 'url' });
this.fbk.ui({
method: 'share_open_graph',
action_type: 'og.shares',
action_properties: JSON.stringify({
object: {
'og:title': 'title',
'og:description': 'description',
'og:image': 'imagelink',
'og:url': referlink,
}
})
});
参考网址:http://drib.tech/programming/dynamically-change-facebook-open-graph-meta-data-javascript
希望这会有所帮助!