我想动态更新facebook og meta标签。我找到了一个有角度的服务:
angular.module('App.Common')
.service('MetadataService', ['$window', function($window){
var self = this;
self.setMetaTags = function (tagData){
$window.document.ogdescription = tagData.ogdescription;
$window.document.ogname = tagData.ogname;
$window.document.ogimage = tagData.ogimage;
};
}]);
在我的模板文件中,我将其设置为:
<meta property="og:title" name="ogname" content=""/>
<meta property="og:description" name="ogdescription" content=""/>
<meta property="og:image" name="ogimage" content=""/>
在我的一个控制器上:
angular.module('App.Common')
.controller('ArticleController', function (MetadataService){
MetadataService.setMetaTags({
ogname : 'some title',
ogdescription : 'some desc',
ogimage : 'some image'
});
});
这不会更新元标记。我不知道我哪里错了。请原谅我的英语。
由于
答案 0 :(得分:-1)
尝试使用id属性
<meta property="og:title" id="ogname" content=""/>
<meta property="og:description" id="ogdescription" content=""/>
<meta property="og:image" id="ogimage" content=""/>
像这样改变方法
self.setMetaTags = function (tagData){
$window.ogdescription.content = tagData.ogdescription;
$window.ogname.content = tagData.ogname;
$window.ogimage.content = tagData.ogimage;
};