我是网络开发的新手,这是我的第一个Chrome扩展程序。这是我的脚本,用于获取和解析RSS提要:
$(document).ready(function() {
// FETCH THE RSS FEEDS AND PARSE THEM
$.get(rssurl, function(data) {
var $xml = $(data);
$xml.find("item").each(function() {
var $this = $(this),
item = {
title: $this.find("title").text(),
link: $this.find("link").text(),
description: $this.find("description").text(),
pubDate: $this.find("pubDate").text(),
url : $this.find("enclosure").attr("url"),
author: $this.find("author").text()
};
// ADD IT TO THE ARRAY
items.push(item);
if(items.length == 1){
$(".title").html(item.title);
$(".description").html(item.url);
$(".author").html(item.author);
$(video).attr({"src" : item.url});
}
});// end of each()
});// end of $.get()
});
然而问题是:
url : $this.find("enclosure").attr("url"),
这个想法是让视频播放,尽管它在.mp4
中
以下是我要解析的Feed:http://feeds.podtrac.com/tTKj5t05olM $
N.B。我已经允许Chrome清单中的所有网址
答案 0 :(得分:1)
在将项目添加到数组之前尝试添加以下条件:
if($("enclosure[url$='.mp4']",this).length>0){}
[attribute $ =“value”]是jQuery属性end with selector。它将选择具有指定属性的元素,其值以给定字符串结尾。
代码:
$(document).ready(function() {
// FETCH THE RSS FEEDS AND PARSE THEM
$.get(rssurl, function(data) {
var $xml = $(data);
$xml.find("item").each(function() {
//if item's enclosure url attribute is in .mp4 format... then add it to the video array
if($("enclosure[url$='.mp4']",this).length>0){
var $this = $(this),
item = {
title: $this.find("title").text(),
link: $this.find("link").text(),
description: $this.find("description").text(),
pubDate: $this.find("pubDate").text(),
url : $this.find("enclosure").attr("url"),
author: $this.find("author").text()
};
// ADD IT TO THE ARRAY
items.push(item);
if(items.length == 1){
$(".title").html(item.title);
$(".description").html(item.url);
$(".author").html(item.author);
$(video).attr({"src" : item.url});
}
}
});// end of each()
});// end of $.get()
});
答案 1 :(得分:1)
我认为您的mp4文件格式不正确,无法在HTML5视频代码中播放。
当我在firefox中打开http://media.tqaweekly.com/video/tqa-se4ep29.mp4时,我收到一条错误消息,指出视频已损坏。在Chrome中,我有音频,但没有视频。
我为另一个堆叠器here解决了这个问题。我认为这是类似的事情。
之后,您需要在HTML5视频标记中显示视频。但我想你不需要帮助:)
<video width="640" height="360" controls>
<source src="yoursrc.mp4" type="video/mp4; codecs=avc1.42E01E,mp4a.40.2">
</video>
答案 2 :(得分:0)
问题在于:
$(video).attr({"src" : item.url});
需要:
$("video").attr("src",item.url);