【问题标题】:RSS feed without items没有项目的 RSS 提要
【发布时间】:2011-01-07 11:40:39
【问题描述】:

我有一个网页,其中有一个搜索页面。我为搜索提供了一个“动态”RSS 提要,以便用户可以订阅他喜欢的任何搜索词的搜索结果。

所以我想知道如果该搜索词返回 0 个结果,这意味着我没有“项目”可放入提要中,那么标准(或最佳实践)方法是什么。我是否只返回一个空提要(仅包括元数据,不包括 item 元素)。或者我应该在提要中添加一些特殊的item 元素以及一些“无结果”文本?

编辑:YouTube 返回一个不包含任何 item 元素的供稿。如果没有人可以回答我,我会认为这是正确的做法,因为我在其他地方找不到任何信息:)

【问题讨论】:

  • 好问题,我也有同样未解决的问题...

标签: rss


【解决方案1】:

执行least surprising thing 并返回一个空提要 - 结构与任何其他 RSS 提要保持相同,但没有 item 元素。

实际上不是结果的虚假提要结果比它们的价值更麻烦,因为您会将元数据(“n 个结果”)呈现为一行数据(“结果内容 #x”) :“你有 1 个新项目:'哈哈,开个玩笑,没有新项目适合你'”对于用户 用户代理来说都是令人困惑的。

至于“但是如果他们没有得到任何结果,用户会认为它已经坏了”:如果他们没有得到任何有意义的结果,他们会认为它已经坏了无论哪种方式,但是得到“有 1 条消息:没有消息”可能会让他们更加困惑。

此外,它会混淆用户代理(RSS阅读器程序):它们中的大多数将旧项目保存在本地并保留它们(除非用户请求删除items),所以你会看到“item 1,item 2,目前没有item,item 3,item 4,item 5,item 6,目前没有item,item 7”的列表。

编辑:在您将用户带到 RSS 提要之前,您可以显示某种预览 - 例如“这是您的提要的链接,目前包含 n 个结果”。 (当然当然有些用户不会阅读它并抱怨,但我们能做的只有这么多)

【讨论】:

  • 我想知道这个解决方案是否能带来良好的用户体验。他们可能认为提要坏了或者他们做错了什么......?!
  • @Simon:它与没有项的现有提要有何不同?您是否期望没有新项目的提要会弹出一个项目说“此提要故意留空”?我们是否对所有可能无法/不会区分“没有新项目”和“损坏的提要”的 RSS 用户代理负责?此外,如果用户收到“没有新项目”项目,他们也会认为提要已损坏,因为这是我在其他任何地方都没有看到的内容(“用户对 other 网站比与您的网站”)。
  • 是的,当然。你写的每一点都是对的。但我认识不知道互联网如何运作的用户。我担心的是他们,而不是用户代理。如果他们在 Firefox 中单击 RSS 图标,导致一个灰色的空白页面,他们可能不会点击其上的订阅按钮。 other 网站不会经常返回空提要。也许这只是像firefox这样的“代理”没有显示“目前没有项目”标志的错。
  • @Simon:预览怎么样(见我的编辑)?此外,此特定功能是通过搜索动态生成的提要 - 例如您可以在此处查看:maandag.nl/Vacatures(单击左侧菜单中的“ontvang vacatures via RSS”)。人们会期望这种高级功能的用户会比“teh intertubez,it iz broken”品种更精明(无论如何,我们可以修复的只有这么多。无知的用户不在该列表中。)
  • @Simon:不客气。现在我意识到我们眼前有一个很好的预览示例:查看 SO 标签搜索 - 每个都有关联的 RSS 提要,所以 页面本身的结果 实际上是 RSS 的预览饲料。
【解决方案2】:

告诉他们没有搜索结果。这只是礼貌!

【讨论】:

  • 您能说得更具体一点吗?消息应该如何格式化,它应该出现在什么元素中等等。我不是在寻找一个礼貌的解决方案,而是一个正确的解决方案:)
  • 我认为<channel><description>中的搜索结果数量会很好,不要留下<item>。喜欢:<channel><title>Title</title><description>Search Terms - X results found.</description></channel>
猜你喜欢
  • 1970-01-01
  • 2014-07-12
  • 1970-01-01
  • 2011-05-27
  • 1970-01-01
  • 2010-11-22
  • 2011-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多