1

我修改了我发现的一个脚本,以便在我的移动页面上发布 rss 提要。这是修改版http://jsfiddle.net/t22QP/1053/

奥马尔让我在这里发布代码:)

// ISCPA added search filter, home icon, updated CDN-Hosted links
// forked from sumukh1's "forked: RSS Reader with jQuery Mobile" http://jsdo.it/sumukh1/4Ton
/* configuration */
var maxLength = 20;
/* writing HTML */
document.write(
  '<div data-role="page" id="news">' +
  '  <div data-role="header" data-theme="b">' +
  ' <a href="#home" data-icon="home" data-theme="b" data-transition="slide" data-direction="reverse">Дома</a>' +
  '  <h1>Новости</h1>' +
  '  </div>' +
  '  <div data-role="content">' +
  '    <ul data-role="listview" data-filter="true" id="articleList">'
);
for(var i=1; i<=maxLength; i++){
  document.write(
    '<li id="list' + i + '"><a href="#article' + i + '" id="link' + i + '">&nbsp;</a></li>'
  );
}
document.write(
  '    </ul>' +
  '  </div>' +
  '</div>'
);
for(i=1; i<=maxLength; i++){
  document.write(
    '<div data-role="page" id="article' + i + '">' +
    '  <div data-role="header" data-theme="b">' +
    '    <a href="#news" data-role="button" data-icon="back" data-back="true">Назад</a>' +
    '    <h1 id="articleHeader' + i + '">&nbsp;</h1>' +
    '  </div>' +
    '  <div data-role="content">' +
    '    <div id="articleContent' + i + '" class="articleContent"></div>' +
    '    <div data-role="controlgroup" data-type="horizontal">' +
    '    <a href="#" id="openButton' + i + '" data-role="button" data-icon="arrow-r"' +
    '      class="ui-btn-right" rel="external">Прочитај повеќе</a>' +
    '    </div>' +
    '  </div>' +
    '</div>'
  );
}
/* JSONP */
$(function(){
  getOnlineFeed('http://www.finki.ukim.mk/mk/rss/news');
});
/* functions */
var listEntries = function(json) {
  if (!json.responseData.feed.entries) return false;
  $('#widgetTitle').text(json.responseData.feed.title);
  var articleLength =json.responseData.feed.entries.length;
  articleLength = (articleLength > maxLength) ? maxLength : articleLength;
  for (var i = 1; i <= articleLength ; i++) {
    var entry = json.responseData.feed.entries[i-1];
    $('#link' + i).text(entry.title);
    $('#articleHeader' + i).text(entry.title);
    $('#openButton' + i).attr('href', entry.link);
    $('#articleContent' + i).append(entry.content);
  }
  $('#article1 .prevButton').remove();
  $('#article' + articleLength + ' .nextButton').remove();
  if (articleLength < maxLength) {
    for (i = articleLength + 1; i <= maxLength; i++) {
      $('#list' + i).remove();
      $('#article' + i).remove();
    }
  }
};
var getOnlineFeed = function(url) {
  var script = document.createElement('script');
  script.setAttribute('src', 'http://ajax.googleapis.com/ajax/services/feed/load?callback=listEntries&hl=ja&output=json-in-script&q='
                      + encodeURIComponent(url)
                      + '&v=1.0&num=' + maxLength);
  script.setAttribute('type', 'text/javascript');
  document.documentElement.firstChild.appendChild(script);
};
var getOfflineFeed = function(url) {
  var script = document.createElement('script');
  script.setAttribute('src', url);
  script.setAttribute('type', 'text/javascript');
  document.documentElement.firstChild.appendChild(script);
};

当我只有一个提要时,一切都很好。问题是当我放置两个(不同的)RSS 提要时。第一个有没有数据和链接的空列表,第二个工作正常。

这就是我生成页面的方式。

    <!-- Not generating data, only empty elements -->
    <script type="text/javascript" src="generateAnnouncements.js" ></script>

    <!-- Working -->
    <script type="text/javascript" src="generateNews.js" ></script>

generateNews.js 和 generateAnnouncements.js 是相同的(上面发布的脚本),除了它们的提要和标题标题。

有人可以检查脚本并告诉我导致问题的原因吗?

PS 我尝试将后缀A添加到我在第一个脚本中找到的每个 id 中,但这没有帮助。

4

0 回答 0