2014-04-28 80 views
0

我正在使用帶jQuery的zRSSFeed插件來顯示來自RSS提要的最新消息。zRSSFeed錯誤處理問題

即使使用jQuery 1.9.1(文檔狀態支持最高爲1.7),這個效果也不錯,而且無論我使用的是哪個jQuery版本,問題都存在。

如果一個RSS網址無法成功返回,我可以調用'showerror'和'errormessage',這是非常棒的,只有當Feed不因任何原因而加載時。

但是,我發現一個問題,如果一個RSS提要是空的 - 因爲新聞頁面已經刪除飼料中的所有文章,無論出於何種原因 - 淋浴錯誤/ errorMessage不使用。

我嘗試了各種方法來克服這一不足,包括: -

if(feeds.entries.length < 0) { 
$('.mydiv').appendTo("no news articles for now"); 
} 

這將失敗,其中RSS提要應該出現留空,用列表元素的插件創建的異常頁面,注意ul元素是空的: -

<div class="rssBody" style="overflow: hidden; position: relative; height: 126px;"><ul style="position: absolute; margin: 0px; padding: 0px;"></ul></div> 

任何適當的頭腦的天才能夠工作這一個?

回答

0

如果你發佈了更多的代碼,這將有所幫助。 也許你正在尋找的東西是這樣的:

$(element).rssfeed(fsrc, 
      { 
       //zRSSfeed options, bla bla bla 
       linktarget: "_blank", 
       sort: "title", 
       sortasc: true, 
       snippet: false, 
       content: true, 
       media: true, 
       showerror: true 
      }, 
      function (e) { 
       //check if element's content is empty 
       $('.rssFeed', e).each(function (i) { 
        var cont = $(".rssFeed .rssBody").html(); 
        if(cont.lenght == 0 || cont == undefined) 
        { return false; } 
       }); 

});

+0

作爲一個例子,請看這裏: - http://feeds.bbci.co.uk/sport/0/football/world-cup/2014/rss.xml - 注意飼料不提供404錯誤,但它是空的(無論出於什麼奇怪的原因)。我想知道是否有任何可以實現的排序回調,在zRSSFeed插件中有一個var,它填充'feeds.entries.length',因此我假定如果可以檢查feeds.entries.length是否等於零和零,然後showerror。 –

+0

@GrantG我不認爲有。 zRSSFeed使用不返回任何錯誤的getJSON方法。因此我認爲你最好的選擇是在一段時間後執行一次檢查 - setTimeout(isUlEmpty,1000) - 然後顯示你的錯誤信息。 – MadPete