javascript - 从 JS 获取 URL 元数据

标签 javascript ruby-on-rails fetch meta-tags

大多数社交媒体网站都有一项功能,您可以输入链接,网站将生成该链接的链接预览。请参阅下面来自 Google+ 的示例

假设我想构建自己的。我使用 Ruby on Rails 作为 Web 框架,但这无关紧要,因为我想我必须使用 JS 来获取这个客户端,对吗?

  1. 我在哪里可以找到这些数据?我知道它通常在<meta>中标签,但这是标准吗?当我尝试几个链接时,只有描述位于 <meta> 中。标签。图像和标题与元标记中的其他任何内容都不匹配。

  2. 如何异步获取远程文档并解析其标签?如果有人能给我举一个例子,我将不胜感激。

谢谢!

enter image description here

最佳答案

作者可以通过三种常见方式在 HTML 文档中提供此数据(从最不具有表现力到最具表现力):

  1. head 中的元数据元素: 这是纯 HTML,即

  2. 微格式:仍然使用纯 HTML,但与特定的 class 一起使用。名称。所有微格式均在 their wiki 中描述。 .

  3. 结构化数据:使用扩展/附加语法( JSON-LD, Microdata, RDFa 、...)和词汇表( Schema.orgOpen Graph ProtocolDublin Core ...)。

您通常会在您的编程语言中找到合适的解析器。

您可能会发现大多数网站都使用开放图谱协议(protocol)(在 RDFa 中),因为 Facebook 和 Twitter 使用了该协议(protocol)。可能紧随其后的是 Schema.org(采用 JSON-LD/Microdata/RDFa),因为它是由主要搜索引擎赞助的。

请注意,2. 和 3. 还允许作者提供有关页面上描述(或相关)的实体的数据,即并非每个提取的数据都适合链接预览,因此您必须考虑上下文。

关于javascript - 从 JS 获取 URL 元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42357295/

相关文章:

javascript - CSS3 转换导致非常奇怪的 window.scrollY 行为

javascript - Browserify 无法编译 react

javascript - 将复杂的 excel 公式转换为 javascript

mysql - 在 rake 任务中打开与 mysql 数据库的连接

ruby-on-rails - Rails - 从 Production.log 恢复数据库

json - 升级到0.24.1后, native 获取本地Betch而不是JSON返回

javascript - 在 componentDidMount 中获取 Prop

mysql - Rails 数据库连接池的工作原理

java - Hibernate - FetchType.LAZY 急切地加载数据

javascript - 如何修复未定义的 "react-dom.development.js:287 Uncaught TypeError: Cannot read property ' setState'