Jquery 类似Facebook的元标记没有显示正确的图像
可能重复:Jquery 类似Facebook的元标记没有显示正确的图像,jquery,facebook-like,Jquery,Facebook Like,可能重复: 我正在使用javascript为og:values设置元标记,FB调试器告诉我需要显式地为URL、Title和Image设置元标记。我看到元标记在Firebug中正确显示-它们在那里,但是FB和类似按钮由于某种原因没有看到它们。以下是JS: function setMT(metaName, name, value) { var t = 'meta['+metaName+'='+name+']'; var mt = $(t); if (mt.length === 0) { t
我正在使用javascript为og:values设置元标记,FB调试器告诉我需要显式地为URL、Title和Image设置元标记。我看到元标记在Firebug中正确显示-它们在那里,但是FB和类似按钮由于某种原因没有看到它们。以下是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);
}
等等
有人知道FB是否不喜欢我的方法吗?我不能为这些元标记设置硬值,它们是在电子商务平台上动态生成的,因此我需要在模板中创建变量,并使用jQuery将它们传递到页面内容,在那里我创建了元标记,并将它们前置到文档头。对此我有些挠头。Javascript只在用户的浏览器中工作。Facebook open graph crawler(以及基于它的调试器)将页面服务器调用到服务器,不解释任何javascript。因此他们看不到你的标签。您应该使用任何服务器端语言(如php或asp.net等)动态设置它们
setMT('property', 'og:title', 'PAGE_TITLE');
setMT('property', 'og:url', 'CURRENT_URL');
setMT('property', 'og:image', 'IMAGE_URL');