链接到RSS / Atom提要,相对,在Firefox中不起作用

时间:2010-12-14 11:46:10

标签: html firefox rss feed atom-feed

我有一个奇怪的问题。我生成了一个HTML页面,托管在http://www.x.com/stuff包含

<head>
  <link type="application/atom+xml" rel="alternate" href="/stuff/feed"/>
  ..
</head>

结果是:

  • 在IE7中一切正常 - 您可以点击浏览器中的Feed图标并显示Feed
  • 在Firefox中,查看来源,点击已关联的/stuff/feed,您会看到Feed的来源,以便按预期工作
  • 在Firefox中,查看页面(不是来源),然后点击地址栏中的Feed图标,我收到一条错误,指出它无法检索到网址feed://http//www.x.com/stuff/feed

问题是,它将feed://附加到网址的前面,然后在:之后取出冒号http。我知道feed:无论如何都是HTTP,所以也许添加它不是一个大问题。

但无论如何,事实是,我的<link>代码生成的网址不起作用。

我考虑过将URL设为绝对,但我没有发现任何证据证明这些URL必须是绝对的,我也不能理解为什么会这样。由于各种原因,我的代码生成绝对URL会很不方便。如果有必要,我可以这样做,但我希望看到证据(例如规范或Mozilla错误报告)在使我的代码变得混乱之前是必要的

你怎么看?有谁知道URL应该是绝对的任何证据?或者我做错了什么?它似乎是一个简单/明显的标签,没有什么可能出错,但我无法让它工作。

5 个答案:

答案 0 :(得分:1)

您是否可以提供指向您网站或特定HTML网页的链接,以便直播?因为SO上的这个问题的ATOM提要与您尝试链接ATOM提要的方式完全一致:

 <link rel="alternate" type="application/atom+xml" title="Feed for question 'Link to RSS/Atom feed, relative, doesn&#39;t work in Firefox'" href="/feeds/question/4438794">

这适用于我的Firefox/3.6.13

答案 1 :(得分:1)

非工作基础URL包含拼写错误的事实是可疑的:如果某些事情意外地覆盖它,就会发生这种情况。

您的网页是否包含错误base element?所有浏览器都不支持base元素(和RFC 1808)完全相同,因此如果您的文档中有这样的内容(请注意缺少:):

<base href="http//www.x.com/">

然后浏览器可能会不一致地使用它来解析相对引用,具体取决于元素放置,渲染模式,错误回退行为或其他因素。

如果文档中不包含base元素,请检查您是否通过其他方式(例如Content-Location HTTP标头)意外引入了错误的基本URL。

答案 2 :(得分:1)

这是Firefox或FoxyProxy中的一个错误。

我不仅看到了stackoverflow的完全相同的问题(转到Firefox中的问题,点击Feed图标,查看相同的奇怪feed://http//...网址),还可以查看http://news.google.com/

我写信给一家完全不相关公司的朋友,他在那些标准网页上看到了他的FireFox发生的同样错误。

<link>标记中使用绝对网址无效;例如,news.google.com使用绝对网址。

事实证明,如果您转到Firefox中的代理设置,如果您选择“使用系统代理设置”,则会发生这种情况;如果手动输入代理详细信息或不使用代理,则不会发生此问题。

这似乎是这里的错误http://foxyproxy.mozdev.org/drupal/content/problem-with-feed-and-proxy

答案 3 :(得分:1)

我遇到了同样的问题。 IT是由我的网络流量正在进行的代理服务器引起的。 Firefox将“http://server.tld/feed-url”更改为“feed://http//server.tld/feed-url”。由于我的所有http流量通过的Web代理无法识别“feed://”协议,因此它拒绝我的请求无效。

到目前为止,我找到的唯一解决方法是在Firefox中手动配置代理设置。现在您可能已经由系统自动配置了它们。如果您知道代理信息,则可以手动配置它。仅对http / https / ftp这样做允许我访问提要,因为Firefox然后直接处理了feed:// URL(最终将其重定向到http://就像我想要的那样)。

要直接配置代理设置,您需要转到编辑 - &gt;偏好 - &gt;高级 - &gt;设置(“连接”旁边)。使用手动设置。您必须确定系统已在使用的代理设置。

请注意,缺少的冒号(Piet提到)不是您网站上的错误。这是Firefox订阅的转换。另请注意,这不是由Julien建议的相对URL引起的问题。 Firefox正在将其转换为绝对URL,但随后删除http://协议前缀中的冒号,以便可以将其附加到“feed://”(更改协议并将原始绝对URL作为“URL”提供)对于新的“饲料”协议)。

答案 4 :(得分:0)

放一个绝对的URL,这是元素的一个好习惯,不会破坏浏览器......