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 中获得一些不错的东西吗?

4

3 回答 3

4

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

这会在 Chrome 中显示 XSLT:

Content-Type: application/xml

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

Content-Type: application/atom+xml
于 2010-01-13T02:43:40.073 回答
2

现在,大多数浏览器都默认将自己的 XSLT 应用到他们遇到的任何 Atom/RSS 提要中,这很烦人。通过 Atom 的 application/atom+xml mime 类型和 RSS 的 application/rss+xml 识别提要

您过去可以通过以评论的形式使用 crud 填充提要的前 512 个字节来规避此问题。这将摆脱浏览器的提要嗅探,并允许您应用自己的 XSL 样式表。这对我来说已经工作了很多年,但是对于 IE8,这种行为已经消失了,512 字节的注释不再起作用。我现在已经切换到服务器端处理,但我仍然对浏览器做出的这个决定感到遗憾。

于 2010-01-21T08:04:55.213 回答
1

我不知道有什么方法可以欺骗 IE & FF & Safari 自动显示 RSS/Atom 提要,但在 Chrome 中,XSLT 是通过xml-stylesheet处理指令正确应用的;这是来自flickr的 Randonneur Group 池的示例。

于 2010-01-12T09:50:59.257 回答