我想知道facebook如何将您发布的内容(如网页链接)更改为对话框中的小部件

时间:2016-05-01 08:12:00

标签: javascript html facebook frontend backend

fb会接收关键字吗?例如,如果您尝试发布此链接,您将看到它显示"如何向专业和发烧友程序员提问Q& A"然后是底部的链接。非常感谢您的帮助:)

2 个答案:

答案 0 :(得分:2)

他们查询链接服务器端,抓取它,并将该信息作为小部件发送到浏览器。

你可以看到它发生:

  1. 将链接复制到剪贴板。
  2. 打开Facebook。
  3. 打开浏览器的开发工具,然后转到网络标签页。
  4. 单击“发布”框(因此它会在您执行此操作时加载它加载的各种内容)。
  5. 等几秒钟。
  6. 在“网络”标签中,点击“清除”,这样您就可以看到新内容。
  7. 将您的链接粘贴到帖子框中。
  8. 您会看到https://www.facebook.com/react_composer/scraper/?composer_id=obscured&target_id=obscured&scrape_url=http%3A%2F%2Fstackoverflow.com%2Fquestions%2F36964511%2Fi-would-like-to-know-how-facebook-changes-something-you-post-like-a-weblink-into&entry_point=obscured&source_attachment=obscured&av=obscured&dpr=1之类的请求。响应包括框的信息。

答案 1 :(得分:0)

Facebook使用Open Graph protocol

  

Open Graph协议允许任何网页成为社交图中的丰富对象。例如,这在Facebook上用于允许任何网页具有与Facebook上的任何其他对象相同的功能。

如果您在网页上实施Open Graph元标记,Facebook会在创建您在发布链接后看到的小部件时使用这些字段。

例如,如果您查看此页面的来源,则会看到og:imageog:titleog:descriptionog:type和{{1}的Open Graph标记}。如果您在Facebook上共享此网址,则小部件将使用og:urlog:titleog:descriptionog:image。您可以在Facebook的Open Graph Debugger工具中查看this info

一个有用的工具是Open Graph Debugger,它允许您发布网址并查看Facebook如何抓取该网页。