我正在尝试使用 div 填充功能在我的网站中实现一些提要。以前,我的页面有相同的 JavaScript 代码块(每个提要一个),但为了成为一名优秀(或更好)的编码员,我决定将重复的代码粘贴到外部脚本文件中并使用不同的参数运行它反而。
不幸的是,提要拒绝加载我的新实现,而且我的想法已经不多了。我根据用户 ndp 在问题 9662168中的有趣建议构建了我的回调函数。
因此,我的外部脚本文件中有以下两个函数(为简单起见,对代码进行了少量编辑):
function populateRSSFeed(divID) {
var targetDiv = document.getElementById(divID);
return function callback(result) {
if (!result.error) {
var container = document.getElementById(targetDiv);
var list = document.createElement('ul');
<snip: div-population code here>
container.appendChild(list);
}
else
alert('Error fetching feeds!');
}
}
function initializeRSSFeed(callback, targetFeed) {
google.load('feeds','1');
var feed = new google.feeds.Feed(targetFeed);
var numEntries = 3;
feed.setNumEntries(numEntries);
feed.load(callback);
}
这些函数在我的 HTML 中调用如下:
<script>
var callback = populateRSSFeed('feed-list-wrapper-1');
initializeRSSFeed(callback, 'http://rss.cnn.com/rss/cnn_topstories.rss');
</script>
我收到的错误消息让我认为在提要加载阶段出了点问题,但我无法确定原因。
Uncaught TypeError: Cannot read property 'Feed' of undefined
你们有什么感想?