从JS

时间:2017-02-21 01:49:44

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

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

让我们说我想建立自己的。我使用Ruby on Rails作为一个Web框架,但这是无关紧要的,因为我想我必须使用JS来获取这个客户端的权利吗?

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

  2. 如何异步获取远程文档并解析它的标签?如果有人能指出我的例子我会感激不尽。

  3. 谢谢!

    enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

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

  3. 中描述
  4. 结构化数据:使用扩展/其他语法(JSON-LD, Microdata, RDFa,...)和词汇表(Schema.orgOpen Graph ProtocolDublin Core ...)。

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

    您可能会发现大多数网站都使用Open Graph Protocol(在RDFa中),因为这是Facebook和Twitter使用的。可能跟随Schema.org(在JSON-LD / Microdata / RDFa中),因为它是由主要搜索引擎赞助的。

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