Seite 1 von 1

RSS Feed mit Stylesheet formatieren (CSS/XSL) oder nicht?

Verfasst: 19.09.2009, 14:30
von mgutt
Hi,

ich habe diesen Feed:
https://www.geldanlage-forum.com/feed.php

Nun ist der aktuell noch nicht gestylt. Ich hatte das kurz aktiv, habe dann aber festgestellt, dass IE8 das simpel ignoriert und der FF3.5.3 nur das gestylte auswirft, aber keinen Button mehr mit "Abonnieren".

Im IE8 finde ich die Darstellung eigentlich Top. Man kann den Feed abonnieren und rechts gibts noch ne Filterungs- und Sortierungsmöglichkeit.

Im FF3.5.3 ist die Darstellung "ok", aber jetzt kommts: Per Zufall zeigt er einmal das:
Bild

und dann wieder das:
Bild

Also Fehler und dann doch nicht :P

Das kann man munter weiterspielen in dem man ständig F5 drückt.

Nun habe ich das weiter getestet. Opera ist sehr vorbildlich. Zumindest optisch. Die haben zwar keine Sortierung, dafür siehts echt schick aus:
Bild

Google Chrome ist dagegen der "Ignorant" im Feld und wirft einfach nur den Inhalt ohne jede Formatierung aus:
Bild

Spricht also dafür, dass man ein Stylesheet realisiert. Ich habe nun gesehen, dass man css und xsl machen kann. css kann man eigentlich vergessen, weil man da nichts anklicken kann, aber da wohl alte Browser nur css verstehen, muss das mit rein. Bleibt also nur xsl als sinnvolle Alternative.

Nur wie kann die browserbezogenen "Feed abonnieren"-Links selber anbieten. Oder sollte man hingehen und neuen Browser einfach kein Style auswerfen?

Gruß

Verfasst:
von

Verfasst: 19.09.2009, 16:24
von chris21
Hi, ich nutze xsl (über extern eingebundenes Stylesheet) und habe eigentlich keine Probleme - neue Browser wie FF 3.x, Opera 10 und IE 8 nutzen ihre eigenen Stylesheets und bieten daher auch den Abonnieren Knopf an (bzw. Link beim IE) - ältere Versionen hingegen nutzen dann meinen Stylesheet (bei dem allerdings ein Abonnieren-Link auch fehlt).

Verfasst: 19.09.2009, 16:43
von mgutt
Wenn ich xsl einbinde, dann stellt FF3.5.3 nur noch mein Stylesheet dar. Also kein Button. Das ist ja das was ich so nervig finde :P

Verfasst:
von
Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Verfasst: 19.09.2009, 17:00
von chris21
Oh, ok.

FF 3.5.3 hatte ich noch nicht ausprobiert.

Ist das ein externes Stylesheet?

Ansonsten würde ich mir mal das generierte HTML anschauen (z.B. über FF Webdeveloper-Toolbar->Quelltext->Generierter Quelltext), um die Abonnieren-Funktionalität nachzubilden. Könnte jedoch sein, dass man dann für verschiedene Browser verschiedenes einfügen müsste, was ärgerlich wäre).

Verfasst: 19.09.2009, 17:51
von mgutt
Ist der Quelltext anders, als mit rechter Maustaste oder wie?

Verfasst: 19.09.2009, 20:41
von chris21
Jupp.

Bzw.: wenn du eine ältere FF-Version einsetzt, kannst Du damit anschauen, wie der generierte Quelltext aussieht - d.h. Dein Quelltext plus die Erweiterungen, die FF reinknallt, um u.a. das Abonnieren anzubieten.

Hier mal der relevante Auszug des generierten Codes mit FF 3.0.13 (o.s.ä).:

Code: Alles auswählen

<html id="feedHandler" xmlns="http&#58;//www.w3.org/1999/xhtml" xmlns&#58;xul="http&#58;//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <head>
    <title>Feed ansehen</title>
    <link rel="stylesheet" href="chrome&#58;//browser/skin/feeds/subscribe.css" type="text/css" media="all"/>
    <script type="application/x-javascript" src="chrome&#58;//browser/content/feeds/subscribe.js"/>
  </head>
  <body onload="SubscribeHandler.writeContent&#40;&#41;;" onunload="SubscribeHandler.uninit&#40;&#41;;">
    <div id="feedHeaderContainer">
      <div id="feedHeader" dir="ltr" class="feedBackground">
        <div id="feedIntroText"><xul&#58;description id="feedSubscriptionInfo1"/><xul&#58;description id="feedSubscriptionInfo2"/></div>

<!-- XXXmano this can't have any whitespace in it.  Otherwise you would see
     how much XUL-in-XHTML sucks, see bug 348830 -->
        <div id="feedSubscribeLine"><xul&#58;vbox><xul&#58;hbox align="center"><xul&#58;description id="subscribeUsingDescription" value="Diesen Feed abonnieren mit"/><xul&#58;menulist id="handlersMenuList" aria-labelledby="subscribeUsingDescription" sizetopopup="pref" value="" image="chrome&#58;//browser/skin/page-livemarks.png" label="Dynamische Lesezeichen" description=""><xul&#58;menupopup menugenerated="true" id="handlersMenuPopup"><xul&#58;menuitem id="liveBookmarksMenuItem" label="Dynamische Lesezeichen" class="menuitem-iconic" image="chrome&#58;//browser/skin/page-livemarks.png" selected="true"/><xul&#58;menuseparator/><xul&#58;menuitem id="selectedAppMenuItem" class="menuitem-iconic" handlerType="client" hidden="true"/><xul&#58;menuitem id="chooseApplicationMenuItem" label="Anwendung wählen…"/><xul&#58;menuseparator/><xul&#58;menuitem class="menuitem-iconic" label="Bloglines" handlerType="web" webhandlerurl="http&#58;//www.bloglines.com/login?r=/sub/%s"/><xul&#58;menuitem class="menuitem-iconic" label="My Yahoo" handlerType="web" webhandlerurl="http&#58;//add.my.yahoo.com/rss?url=%s"/><xul&#58;menuitem class="menuitem-iconic" label="Google" handlerType="web" webhandlerurl="http&#58;//fusion.google.com/add?feedurl=%s"/></xul&#58;menupopup></xul&#58;menulist></xul&#58;hbox><xul&#58;hbox><xul&#58;checkbox id="alwaysUse" label="Feeds immer mit Dynamische Lesezeichen abonnieren."/></xul&#58;hbox><xul&#58;hbox align="center"><xul&#58;spacer flex="1"/><xul&#58;button label="Jetzt abonnieren" id="subscribeButton"/></xul&#58;hbox></xul&#58;vbox></div></div>
    </div>

    <script type="application/x-javascript">
      SubscribeHandler.init&#40;&#41;;
    </script>

    <div id="feedBody">
      <div id="feedTitle">
        <a id="feedTitleLink">

          <img id="feedTitleImage"/>
        </a>
        <div id="feedTitleContainer">
          <h1 id="feedTitleText">Hier der Titel Deines RSS-Feeds</h1>
          <h2 id="feedSubtitleText"></h2>
        </div>
      </div>
      <div id="feedContent"><div class="entry">Hier die Einträge mit Überschriften, Links etc.</div></div><div style="clear&#58; both;"/></div></div><div style="clear&#58; both;"/></div>

    </div>
  </body>
</html> 

Verfasst: 21.09.2009, 18:54
von mgutt
Ich glaube das Ergebnis kommt erst durch SubscribeHandler.init(); zustande. Also man sieht den Quelltext so nicht wirklich :P

EDIT:
Hier das wird wohl mein Problem in Firefox lösen:
https://www.simonecarletti.com/blog/200 ... irefox-20/

Jetzt brauche ich noch Lösungen für die anderen Browser :P

Und vor allen Dingen würde ich gerne wissen, wie ich IE8 dazu bringe mein Stylesheet anzuzeigen.

EDIT2:
Das könnte eine Lösung in Opera sein bzw. der Code-Teil der da genannt wird:
https://my.opera.com/shoust/blog/2008/0 ... ader-links

EDIT3:
Die Firefox-Variante funktioniert auch in Chrome:
https://dev.chromium.org/user-experienc ... scriptions

EDIT4:
Ich habe mir mal Feedburner angeschaut. Dieser Feed:
https://feeds2.feedburner.com/SharePointPodcast

Wir z.B. im IE8 mit Style angezeigt aber ohne Add-Button. Im FF3.5.3 kommt kein Style, sondern nur das von FF selbst. Also das ist ja vielleicht alles Banane :roll: