我想知道如何使用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元标记的价值。
答案 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。例如......
答案 2 :(得分:10)
Facebook刮刀不执行JavaScript。
因此,使用Javascript修改元标记以显示不同的共享内容将无法正常工作。
您需要使用服务器端代码在HTML源代码中根据需要将其写出来。