我修改了我发现的一个脚本,以便在我的移动页面上发布 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 + '"> </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 + '"> </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 中,但这没有帮助。