Javascript 如何将twitter卡添加到angularjs网站?

Javascript 如何将twitter卡添加到angularjs网站?,javascript,angularjs,twitter,Javascript,Angularjs,Twitter,我的网站是用angularjs建立的。我将在博客中的每个帖子中添加社交媒体共享链接。我如何为每个博客页面添加元标记,以便用户在推特上发布文章url时,文章的标题、描述和图像显示在他们的推特上 我正在使用:library,下面是我的示例: var myApp = angular.module('myApp', ['ngRoute','metatags']); 在配置中插入MetaTagsProvider并定义元标记 myApp.config(['$routeProvider','MetaTags

我的网站是用angularjs建立的。我将在博客中的每个帖子中添加社交媒体共享链接。我如何为每个博客页面添加元标记,以便用户在推特上发布文章url时,文章的标题、描述和图像显示在他们的推特上

我正在使用:library,下面是我的示例:

var myApp = angular.module('myApp', ['ngRoute','metatags']);
在配置中插入MetaTagsProvider并定义元标记

myApp.config(['$routeProvider','MetaTagsProvider', function($routeProvider, MetaTagsProvider) {
        MetaTagsProvider
          .when('/', {
            title: 'Great',
            description: 'Cool',
            twitter_card: 'summary_large_image'
            twitter_title: 'My title',
            twitter_site: 'My site name' ,
            twitter_domain: 'example.com'
            twitter_url: 'http://example.com/example-page.html',
            twitter_desc: 'Cool website',
            twitter_image: 'http://example.com/images/an_image.jpg'
          })
          .........
    }]);
然后在rootScope中定义元标记:

$rootScope.metatags =  { 
  title: "A Great article on angularJS",
  description:"",
  twitter_title: "A Great article on angularJS", 
  twitter_desc: "A Great article on angularJS which describe etc etc blah blah", 
  twitter_site: "example.com",
  twitter_image: "http://example.com/images/an_image.jpg"
}
然后在应用程序中初始化提供程序,如下所示:

myApp.run(function(MetaTags){
    MetaTags.initialize();
});
在index.html的内部标题部分中添加以下行:

<meta ng-if="metatags.twitter_card !=''" property="twitter:card" content="{{metatags.twitter_card}}">
    <meta ng-if="metatags.twitter_site !=''" property="twitter:site" content="{{metatags.twitter_site}}">
    <meta ng-if="metatags.twitter_domain !=''" name="twitter:domain" content="{{metatags.twitter_domain}}">
    <meta ng-if="metatags.twitter_title !=''" property="twitter:title" content="{{metatags.twitter_title}}">
    <meta ng-if="metatags.twitter_desc !=''" property="twitter:description" content="{{metatags.twitter_desc}}">
    <meta ng-if="metatags.twitter_image !=''" property="twitter:image" content="{{metatags.twitter_image}}">

这是可行的,但请记住,只有在您使用诸如prerender.io或prerender with redis nice tutorial之类的服务时,这才可行(因为twitter bot需要您页面的预呈现HTML):


如果你想要额外的推特内容,如播放器等,请休息,然后阅读。

你试过什么吗?我不知道从哪里开始。我不确定以下方法是否有效。页面标题和图像来自数据库。那么,如果我将保存这些内容的范围变量添加到meta标记中,它会起作用吗