使用JQuery更改Facebook元标记内容属性

时间:2011-08-14 00:37:06

标签: jquery facebook facebook-like meta-tags

我想知道如何使用JQuery来替换我的Facebook元标记的内容属性。

我搜索了StackOverflow,我发现的是这个例子:

$("meta[property=og:title]").attr("content", title);
$("meta[property=og:url]").attr("content", url);

在我的代码中,我有以下元标记:

<meta property="og:title" content="some content"/>
<meta property="og:url" content="some content"/>
<meta property="og:site_name" content="some content"/>

当我运行应更改“title”和“url”变量内容的函数时,不会发生更改。 “内容”的相同值仍然保持不变。

我想知道如果可能的话,如何使用JQuery来改变Facebook元标记的价值。

3 个答案:

答案 0 :(得分:24)

这就是我的工作方式:

$('meta[name=og\\:url]').attr('content', newVideoUrl);

注意双反斜杠,如果没有它,Jquery将失败并显示错误。

答案 1 :(得分:14)

绝对可以使用jQuery更改元标记,但我认为这不会达到你想要的效果,因为元标记是由FB scraper提取的。 FB刮刀熄灭并刮擦您的页面以读取元标记。

  

编辑元标记

     

您可以通过更新页面来更新页面的属性    标签。请注意,og:title和og:type只能编辑   最初 - 在您的页面收到50个喜欢后,标题变得固定,   并且在您的页面收到10,000个喜欢后,该类型将被修复。   这些属性是固定的,以避免令人惊讶的用户喜欢   页面已经。在这些限制之后更改标题或类型标签   达不到任何东西,您的页面保留原始标题和   类型。

     

要在Facebook上反映更改,您必须强制页面   被刮。页面管理员点击该页面时会抓取该页面   “赞”按钮或将URL输入Facebook URL时   棉短绒。您可以通过编程方式强制您的页面被删除   curLing the linter。例如......

https://developers.facebook.com/docs/opengraph/

答案 2 :(得分:10)

Facebook刮刀执行JavaScript。

因此,使用Javascript修改元标记以显示不同的共享内容将无法正常工作。

您需要使用服务器端代码在HTML源代码中根据需要将其写出来。