如何使用自定义XSLT在浏览器中显示Atom / RSS源?

问题描述 投票:3回答:3

早在2006年左右,我写了一篇很好的XSLT,将我的RSS源转换为自定义HTML。这样,如果用户从浏览器中点击它,它将显示为一个简单的页面而不是一堆垃圾XML。如果在提要阅读器中使用了相同的URL,则处理得当且一切都很顺利。

现在,大多数浏览器(IE,Firefox,Safari,Opera)似乎抓住了风格,不会放手。 Chrome只是忽略了样式表转换。

鉴于已经有好几年了,我只是忘了一些细节吗?难道不是这么容易吗?

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="/atom2html.xslt"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <!-- ... -->
</feed>

任何人都知道是否有办法用非常具体的饲料造型思想覆盖这些浏览器?还有什么方法可以让Chrome更好玩吗?

xslt rss feeds atom-feed
3个回答
4
投票

如果Feed响应的Content-Type设置为XML而不是Atom,则Chrome似乎仅应用XSLT处理指令。

这会在Chrome中显示XSLT:

Content-Type: application/xml

这不显示任何样式(从技术上讲,它是更正确的类型):

Content-Type: application/atom+xml

2
投票

现在,大多数浏览器将自己的XSLT应用于他们遇到的任何Atom / RSS源都是默认行为,非常烦人。通过Atom的application / atom + xml mime类型和RSS的application / rss + xml标识feed

您曾经能够通过以注释的形式用crud填充feed的前512个字节来绕过这个。这会抛弃浏览器的Feed嗅探并允许您应用自己的XSL样式表。这对我来说已经工作了多年,但是对于IE8,这种行为已经消失了,512字节的注释不再起作用了。我现在已切换到服务器端处理,但我仍然对浏览器的这个决定感到惋惜。


1
投票

我不知道如何欺骗IE&FF和Safari自动显示RSS / Atom提要,但在Chrome中,XSLT通过xml-stylesheet处理指令正确应用;来自here is an example的Randonneur集团游泳池的flickr

© www.soinside.com 2019 - 2024. All rights reserved.