我正在尝试使用Express.js和AngularJS设置SPA的社交分享。 事实是,我想分享动态内容,所以我使用angular-facebook-factory来获取facebook按钮。按钮工作,参数设置,只是我传递的图像,标题和描述参数永远不会到Facebook分享弹出屏幕。
$scope.shareEvent = function (event) {
console.log('verify values: ', event.image); // works fine!
FacebookService.share({
href: 'http://www.example.com/event/'+event_id+'/', // this value is passed
title: event.title, // Not shown
description: event.desc, // Not shown
image: event.image // Not shown
}, function (response) {
$scope.me = response;
$scope.status = true;
})
}
FB共享从http://www.example.com/加载默认值(如和)并使用set href param(http://www.example.com/event)。我尝试了方法:'feed',但没有成功。 我应该在页面上有几个不同的共享按钮,所以我猜meta og标签不会这样做...
这是带有ui-view数量的SPA,使用html5的ui-router工作正常,一切正常。
答案 0 :(得分:1)
这是因为Facebook抓取工具无法呈现javaScript!
在SEO集成方面,Angular JS不太友好。
审核您的代码:
$scope.shareEvent = function (event) {
console.log('verify values: ', event.image); // works fine!
FacebookService.share({
href: 'http://www.example.com/event/'+event_id+'/', // this value is passed
title: event.title, // Not shown
description: event.desc, // Not shown
image: event.image // Not shown
}, function (response) {
$scope.me = response;
$scope.status = true;
})
}
you said console.log(event.image); / Works fine
原因是相同的,您的浏览器能够呈现JavaScript。但 Facebook抓取工具无法处理该javaScript。