我正在尝试在 FB 抓取页面之前在客户端设置 Facebook 开放图元数据。
我尝试过的一切,似乎 FB 在任何 JS 采取行动之前都会抓取页面。它是否正确?有办法做到这一点吗?
这就是 html 文件中的样子:
<meta id="ogImage" content='http://www.blueglass.com/wordpress/wp-content/uploads/2012/04/stand-out-in-crowd.jpg' property='og:image' />
<meta id="ogDescription" content='testd' property='og:description' />
<meta id="ogTitle" content='testt' property='og:title' />
页面加载后,根据url参数,我想更改元数据。
谢谢。
最佳答案
Javascript 主要是一种由浏览器执行的客户端技术(尽管存在服务器端实现)。当 Facebook 抓取您的页面时,它只会查看 HTML 结构和内容;页面中的任何 JS 都不会被执行。将您的 URL 放入 Facebook Linter debug tool准确查看 linter 所看到的内容。
如果您想动态设置元数据,则需要通过服务器端脚本(例如 PHP 或 ASP.NET)来完成此操作,最有可能的方法是询问 URL 查询字符串参数并适当调整 META 标记。
关于javascript - 动态创建页面元数据 - 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11283536/