如何使用JS获取开放图元数据

时间:2019-01-31 22:05:08

标签: javascript jquery html

我正在尝试为所有网站提供3个组成部分:

  • 网站标题

  • 说明

  • 图片/ og:image

我认为可行的方式是使用ajax来获取网站,然后读取元数据,但是它似乎并不一致。.

$('#getResults').on('click', (event) => {

  let postURL = $('#fetch').val()

  $.ajax({
    url: 'https://cors-anywhere.herokuapp.com/' + postURL
  }).then((data) => {
      let html = $(data);
      
      let website_data = {
        title: getNameContent(html, 'og:title') || null,
        description: getNameContent(html, 'og:description') || null,
        image: getNameContent(html, 'og:image') || null,
        url: postURL
      }
      console.log(website_data)
  })
})

function getNameContent(html, name) {
  return html.filter((index, tag) => tag && tag.name && tag.name == name).attr('content');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<p>
https://www.youtube.com/watch?v=dHHt_VBefeQ //doesn't work<br>
</p>

<input type="text" id="fetch" placeholder="url"/>
<button id="getResults">Search</button>

虽然有些URL可以工作,但是其他的却不能。。。我知道如何获得一致的结果吗?谢谢!

0 个答案:

没有答案