我正在尝试为所有网站提供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可以工作,但是其他的却不能。。。我知道如何获得一致的结果吗?谢谢!