在我的表单中,用户粘贴(或键入)来自YouTube的视频的URL。发生这种情况时,我需要能够从YouTube获取相关数据并预先填充某些字段,例如标题,描述和宽度/高度。
我遇到的问题是我能找到的唯一例子是你已经拥有你需要的视频的id:
<script type="text/javascript" src =
"http://gdata.youtube.com/feeds/api/videos/<VideoID>?v=2&alt=json-in-script&callback=FeedCallback"
</script>
<script type="text/javascript">
function FeedCallback( data )
{
//get title from YouTube Data API via JSON
document.getElementById('Title').innerHTML = data.entry[ "title" ].$t;
}
</script>
但这只有在我已经知道<VideoID>
何时加载视图时才有效,而我不知道?有没有办法解析视图中的 ID,然后使用它来返回我需要的数据。
解析输入的URL获取(id)
后,我使用了以下函数:
function fetch_data(id) {
var url = 'https://gdata.youtube.com/feeds/api/videos/' + id + '?v=2&alt=json-in-script&callback=?';
$.getJSON(url, function (data) {
$('input#DataProvider_Title').val(data.entry.title.$t);
$('textarea#DataProvider_Description').val(data.entry.media$group.media$description.$t);
});
}