Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 类似Facebook的元标记没有显示正确的图像_Jquery_Facebook Like - Fatal编程技术网

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');