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

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

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

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

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

    

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

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

绝对可以使用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/

这就是它对我有用的方式:

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

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

Facebook刮刀执行JavaScript。

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

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