2011-09-28 78 views
0

可能重复:
How does Facebook Sharer select Images?Facebook的像Meta标签不显示正确的图像

我使用JavaScript来设置OG元标记:值和FB调试器告诉我,我需要明确设置网址,标题和图片的元标记。我看到在Firebug中正确显示元标记 - 它们在那里,但FB和Like按钮由于某种原因没有看到它们。这里的JS:

function setMT(metaName, name, value) { 
var t = 'meta['+metaName+'='+name+']'; 
var mt = $(t); 
if (mt.length === 0) { 
    t = '<meta '+metaName+'="'+name+'" />'; 
    mt = $(t).prependTo('head'); 
} 
mt.attr('content', value); 
} 

和jQuery的文件准备好我设置的meta标签

setMT('property', 'og:title', 'PAGE_TITLE'); 
setMT('property', 'og:url', 'CURRENT_URL'); 
setMT('property', 'og:image', 'IMAGE_URL'); 

任何人都知道,如果FB不喜欢我的方法?我无法为这些元标记设置硬值,它们是在电子商务平台上动态生成的,所以我需要在模板中创建VARS并使用jQuery将它们传递到创建元标记的页面内容以及将它们预先添加到文档的HEAD中。在这一张上搔一搔头。

回答

0

JavaScript只在用户的浏览器中工作。 Facebook开放图爬行器(和基于它的调试器)将您的页面服务器调用到服务器,并且不解释任何javascript。因此他们看不到您的标签。您应该使用任何服务器端语言(如php或asp.net等)动态设置它们。