2010-01-11 88 views
3

早在2006年,我寫了一個很好的XSLT,它將我的RSS源轉換爲自定義HTML。這樣,如果用戶從瀏覽器中點擊,它將顯示爲一個簡單的頁面,而不是一堆垃圾XML。如果在Feed閱讀器中使用了相同的URL,則它可以正確處理,並且所有內容都是光滑的。如何使用自定義XSLT在瀏覽器中顯示Atom/RSS訂閱源?

現在,大多數瀏覽器(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中獲得好的東西?

+0

不,這似乎是Feedburner如何做的。 – brianary 2010-01-11 23:49:38

+0

它只適用於RSS嗎?不是Atom? – mckamey 2010-01-11 23:50:27

+0

請參閱以下有關Chrome未能正常工作的原因。任何人有任何想法如何讓其他瀏覽器去? – mckamey 2010-01-14 04:56:50

回答

1

我不知道的方式來欺騙IE & FF & Safari的RSS/ATOM的自動顯示飼料,但在鉻的XSLT經由xml-stylesheet處理指令正確應用;來自Randonneur Group泳池的here is an example,地址爲flickr

+0

我沒有在該示例Flickr頁面上看到任何Atom提要鏈接。你確定這是正確的網址嗎? – mckamey 2010-01-12 14:42:29

+0

Ops,在鏈接中粘貼了錯誤的URL。 這是提供副本的頁面: http://linusmat.com/files/stackoverflow/atom.xml 這是應用的xsl: http://linusmat.com/files/stackoverflow/atom .xsl – bolk 2010-01-12 16:52:14

+0

+1你的例子給了我一個很好的開始,以確定我的工作原因。謝謝! – mckamey 2010-01-13 02:40:00

4

如果Feed反饋的Content-Type設置爲XML,而不是Atom,則Chrome似乎只應用XSLT處理指令。

這顯示XSLT在Chrome:

Content-Type: application/xml 

這並不顯示任何樣式(這在技術上是更正確的類型):

Content-Type: application/atom+xml 
2

現在大多數瀏覽器應用默認行爲他們自己的XSLT到他們碰到的任何Atom/RSS feed,非常煩人。通過應用程序/ atom + xml mime類型爲Atom和application/rss + xml識別RSS,可以爲RSS確定一個Feed

您曾經能夠通過填充飼料的前512字節以crud形式一條評論。這會阻止瀏覽器的瀏覽器嗅探,並允許您應用您自己的XSL樣式表。這對我來說已經工作了好幾年了,但對於IE8來說,這種行爲已經超出了窗口,512字節的評論不再有效。我現在已經轉向服務器端處理,但我仍然感嘆瀏覽器使這個決定。

+1

這仍然適用於Firefox,事實上[唯一方法](https://developer.mozilla.org/en/XSL_Transformations_in_Mozilla_FAQ)避開默認的Feed樣式。 – kynan 2012-02-13 02:01:10

+0

這不僅是一個非常醜陋的「解決方法」,它也打破了與其他瀏覽器的兼容性。添加crud爲我打破了飼料。 – kynan 2012-02-13 02:14:56

相關問題