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

Ida*_*ter 11 jquery facebook meta-tags facebook-like

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

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

$("meta[property=og:title]").attr("content", title);
$("meta[property=og:url]").attr("content", url);
Run Code Online (Sandbox Code Playgroud)

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

<meta property="og:title" content="some content"/>
<meta property="og:url" content="some content"/>
<meta property="og:site_name" content="some content"/>
Run Code Online (Sandbox Code Playgroud)

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

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

小智 24

这是它对我有用的方式:

$('meta[name=og\\:url]').attr('content', newVideoUrl);
Run Code Online (Sandbox Code Playgroud)

注意双反斜杠,没有它Jquery将失败并出现错误.

  • @jinn当我尝试你的标记时,它确实改变了html.但Facebook仍然选择我的旧内容价值.我不认为Facebook会考虑javascript.您能否验证Facebook实际显示您通过jQuery应用的正确内容? (4认同)
  • 我的meta标签使用"property"而不是name,所以我不得不写$('meta [property = og \\:url]').attr('content',newVideoUrl); 代替 (2认同)
  • 事实上,应该是"财产"而不是"名称". (2认同)

Jef*_*ock 14

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

编辑元标记

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

要在Facebook上反映更改,您必须强制删除页面.当页面管理员单击"赞"按钮或将URL输入Facebook URL Linter时,页面将被删除.您可以通过cURL'ing linter以编程方式强制页面被删除.例如 ...

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


elM*_*uis 10

Facebook刮刀执行JavaScript.

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

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