- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 google feed api 进行实验。基本上,我想要一个提要列表以及提要条目的一些信息,以便处理通常在谷歌阅读器上不可用的历史提要。我对 google feed api 的一种行为感到困惑,我在下面的代码中将其记录为注释。我确信我没有得到任何东西,因为我是 js 新手。
这是带有我的问题作为注释的代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" charset="UTF-8" >
google.load("feeds", "1");
/* Here I define the list of my feeds */
var feeds=['MYFEED1', 'MYFEED2', 'AND SO ON'];
function initialize() {
for (var j=0;j<feeds.length;j++) {
var feed = new google.feeds.Feed(feeds[j]);
feed.includeHistoricalEntries();
feed.setNumEntries(100);
feed.load(function(result) {
if (!result.error) {
var container = document.getElementById("out");
var furl = result.feed.feedUrl;
var flink = result.feed.link;
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var div = document.createElement("div");
/* HERE IS WHERE I DON'T GET IT.
feeds[j] always just shows the last feed in the array.
But furl always shows the correct feedUrl
Though if I uncomment alert("NEXT") few lines below
thus giving a short pause, feeds[j] correctly
shows the same url as feedUrl. Why? */
div.appendChild(document.createTextNode(feeds[j]+" "
+furl+" "+flink+" "+ entry.link + " " + entry.title));
container.appendChild(div);
}
}
});
//alert("NEXT");
}
}
google.setOnLoadCallback(initialize);
</script>
</head>
<body><div id="out" ></div>
</body>
</html>
我还想知道是否有办法通过查询 mysql 数据库来设置 feeds 数组的值。
最佳答案
在我看来 feed.load() 是一个 ajax 调用,并且您正在传递一个回调函数以在从请求返回时执行。由于 ajax 是异步的,因此外部 for 循环会继续执行,因此您始终会看到数组中的最后一个提要。
我相信在这种情况下闭包应该对您有所帮助。
考虑将整个 block 放置在单独函数的外部 for 循环内并使用闭包。像这样的事情:
function initialize() {
for (var j = 0; j < feeds.length; j++) {
(function(val) { //closure begin
var j = val;
var feed = new google.feeds.Feed(feeds[j]);
feed.includeHistoricalEntries();
feed.setNumEntries(100);
feed.load(function(result) {
if (!result.error) {
var container = document.getElementById("out");
var furl = result.feed.feedUrl;
var flink = result.feed.link;
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var div = document.createElement("div");
/* HERE IS WHERE I DON'T GET IT.
feeds[j] always just shows the last feed in the array.
But furl always shows the correct feedUrl
Though if I uncomment alert("NEXT") few lines below
thus giving a short pause, feeds[j] correctly
shows the same url as feedUrl. Why? */
div.appendChild(document.createTextNode(feeds[j] + " " + furl + " " + flink + " " + entry.link + " " + entry.title));
container.appendChild(div);
}
}
}
})(j); //Closure end
});
//alert("NEXT");
}
关于javascript - Google Feed API 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13443230/
我已经作为发布者向 feedly 提交了一个站点提要。但我没有找到我有多少来自任何地方的订阅者。有什么方法可以检查订阅者数量吗? 最佳答案 尝试输入如下 curl http://cloud.feedl
我正在设计一个 Feeds 系统,一个人可以发布新闻,其他人可以看到彼此的新闻,就像 Twitter 一样。 现在我将新闻保存在 HBase 中,并将它们缓存在 Redis 中。这种方法有 O(1)
我在 atom 文件中显示图像时遇到问题。它不包括谷歌阅读器、歌剧或火狐的提要中的图像。 作为起点,我在 [Atom 1.0 Syndication Format 概述] 中执行了 list 6 中的
我已经构建了一个简单的 Django 照片应用程序。用户可以上传照片、关注其他用户和喜欢照片。为了处理用户之间的关系(关注和取消关注),我使用了一个名为 django-relationships 的包
我需要在网站中显示 Telegram channel 帖子。但我不知道如何将 Telegram channel 导出为 xml。我需要文本和图像以及其他文件和媒体,例如 mp4 - pdf 或其他内容
我正在使用Google Feed JSAPI读取/解析提要。问题是,当提要更改时,之前的条目将变得无效(链接和图像不起作用),因此我无法加载提要的缓存版本。我认为加载提要时会有一个选项不使用缓存版本,
我正在使用 Facebook 页面插件集成 Facebook 页面提要 https://developers.facebook.com/docs/plugins/page-plugin 虽然它几乎适用
我正在用 PHP 构建一个 RSS 提要聚合器/阅读器。由于 RSS 本质上是用户生成的内容,因此我不想依赖提要内容的安全性。 我正在寻求有关清理供稿内容以便在用户设备上存储和显示的建议。目前,我正在
因为我运行一个博客聚合器网站,它每小时检查大量 RSS 提要列表以获取新帖子,所以如果可以使用 google feed api 或 Google AJAX Feed API 我会很高兴而不是让 cro
嘿,我有这两个 RSS 源 - http://www.petrolprices.com/feeds/averages.xml?search_type=town&search_value=kilmarn
我无法使用 Google Feed API 加载图像,我正在使用 mediaGroup 加载图像。 这是我为获取提要而编写的 javascript 代码 google.load("feeds", "
很抱歉,如果之前有人问过这个问题 - 有一个标题相似的问题,但它不完全是我正在寻找的内容。 我正在做的是从数据库中获取结果并将其打印在适当的标签内以创建 RSS Feed。 唯一的问题是文章正文包含
我尝试发布消息来供稿,但她只显示在个人资料中。 如何使此消息显示在新闻源和个人资料源上? 这是我的示例代码: SBJSON *jsonWriter = [[SBJSON new] autoreleas
我正在尝试使用 Google feeds 将 RSS feed 添加到我的网站。问题是它限制了条目的数量。我只看到 4 个条目,但当我 curl RSS 时,我看到 28 个条目。我怎样才能让它加载其
我试图在不使用任何插件的情况下在 jQuery 中构建 rss 提要,我在这里找到了解决方案:designshack.net它使用不再使用的 Google Feed API。我发现解决方案很简单,但它
我从 Node.js 服务器连接到 Google Feed API(使用 https://stackoverflow.com/a/22821516/3303704 )。但每次我使用它时,它似乎都会加载
我正在使用以下代码获取提要: NSDictionary *dirTemp; NSError *error; NSStringEncoding encoding; NSString *strUrl =
为什么我的日历没有将 JSON Feed 中的数据放入我的网页上? $(document).ready(function() { var date = new Date(); var
旧版 Facebook News Feed 和新版之间是否存在问题? 我的位置开放图集合的输出之间存在冲突。 在旧的新闻提要中,我在使用 Open Graph 进行跨平台 checkin 时得到了这个
我正在尝试在 Django (Python) 环境中使用 Amazon API 为产品设置最高价格。我已经通过计算 md5 函数解决了这个问题,该函数的值与 Amazon MWS Scratchpad
我是一名优秀的程序员,十分优秀!