Necroscope78: CSS in iframe übernehmen

Hallo zusammen,

ich habe folgendes Problem:

Ich habe einen Shop bei ebay und kann meine Artikelseiten dort leider nur im reinen HTML abbilden.

Generell habe ich eine Datenbank zu meinen Artikeln und generiere aus dieser Datenbank automatisch jeweils den passenden HTML-Code für ein Angebot.

Auch ein Link zu einer .css-Datei ist in dieser Datenbank hinterlegt, der automatisch in den header des HTML-Codes eingefügt wird.

Bsp.:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<TITLE>ebay-Vorlage</TITLE>

<LINK href=http://rincewinds-shop.de/ebay/Stylesheet/schwarzweiss.css rel="stylesheet">

</HEAD>
<BODY>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TR>
    <td width="100" height="50" align="center" class=Stil10>
      <P></P>
      <P class=Stil6>{SLogo}</P>
<!--Tabelle Titel-->
      <TABLE cellSpacing=0 cellPadding=15 width="100%">
        <TR>
          <TD class=Stil8>
        <P class=Stil7>{Titel}</P></TD></TR>
      </TABLE><!--Tabellen Ende-->
      <P class=Stil5>(Folge {Folge})</P><!--Tabelle Beschreibung-->
      <TABLE borderColor=#ffffff cellSpacing=0 cellPadding=25 width="80%" align=center border=1>
        <TR>
          <TD class=Stil8>
        <P class=Stil1>{Beschreibung}</P></TD></TR>
      </TABLE><!--Tabellen Ende-->

Nun ist der Endbereich eines jeden Angebotes gleich (Anschrift, Infos...)

Um dort flexibel zu bleiben und eventuell mal Daten aus diesem Bereich ohne Probleme für alle Angebote ändern zu können habe ich überlegt, diese Angaben in einem iframe abzubilden.

Leider besteht nun das Problem, dass die Formatierungen aus dem externen CSS nicht für das iframe übernommen werden, was unabdingbar ist, da die Hintergrundfarbe mal schwarz oder weiß oder sonst wie ist und die Schriftfarbe entsprechend formatiert sein muss.

Gibt es die Möglichkeit, die Stylesheetwerte der externen .css-Datei igrendwie für die Inhalte des iframe zu übernehmen? Es macht keinen Sinn, dies in der Datei für den iframe zu definieren, da ich dann für jede .css-Datei eine separate Datei für den iframe erzeugen müsste.

Für eine schnelle Antwort bin ich sehr dankbar

Gruß
Necroscope78

  1. Moin,

    ich habe folgendes Problem:
    Ich habe einen Shop bei ebay ...

    oh, das ist natürlich ein Problem. ;-)

    Generell habe ich eine Datenbank zu meinen Artikeln und generiere aus dieser Datenbank automatisch jeweils den passenden HTML-Code für ein Angebot.
    Auch ein Link zu einer .css-Datei ist in dieser Datenbank hinterlegt, der automatisch in den header des HTML-Codes eingefügt wird.

    Nur aus Neugier: Wie kannst du bei einer ebay-Seite Angaben in den <head> schreiben? Nach meiner Kenntnis ist nur ein in drei oder vier Tabellen verschachtelter Abschnitt im body zugänglich. Insbesondere: Wie kriegst du ein externes CSS eingebunden? Ich habe zwar schon die Variante gesehen, das dafür zuständige link-Element einfach an der benötigten Stelle im body zu notieren; das wird anscheinend von den gängigen Browsern akzeptiert, ist aber invalide und damit im Bereich des Glücksspiels einzuordnen.

    Nun ist der Endbereich eines jeden Angebotes gleich (Anschrift, Infos...)
    Um dort flexibel zu bleiben und eventuell mal Daten aus diesem Bereich ohne Probleme für alle Angebote ändern zu können habe ich überlegt, diese Angaben in einem iframe abzubilden.
    Leider besteht nun das Problem, dass die Formatierungen aus dem externen CSS nicht für das iframe übernommen werden, was unabdingbar ist, da die Hintergrundfarbe mal schwarz oder weiß oder sonst wie ist und die Schriftfarbe entsprechend formatiert sein muss.

    Ja und?

    Gibt es die Möglichkeit, die Stylesheetwerte der externen .css-Datei igrendwie für die Inhalte des iframe zu übernehmen?

    Ja - binde dasselbe Stylesheet, das zur Formatierung des Angebotstextes dient, auch noch im iframe ein. Dann kannst du die Formatierungen schön aufeinander abstimmen, so dass sie immer gut harmonieren.

    Es macht keinen Sinn, dies in der Datei für den iframe zu definieren, da ich dann für jede .css-Datei eine separate Datei für den iframe erzeugen müsste.

    Nö. Generiere den Inhalt des iframe-Dokuments auch dynamisch, dann kannst du das jeweils zum Produkt passende Stylesheet einbinden.

    Ciao,
     Martin

    --
    Butterkeksverteiler zu werden ist vermutlich eine der wenigen beruflichen Perspektiven, die sich noch bieten, wenn man einen an der Waffel hat.
      (wahsaga)
    1. Hi Martin,

      Generell habe ich eine Datenbank zu meinen Artikeln und generiere aus dieser Datenbank automatisch jeweils den passenden HTML-Code für ein Angebot.
      Auch ein Link zu einer .css-Datei ist in dieser Datenbank hinterlegt, der automatisch in den header des HTML-Codes eingefügt wird.

      Nur aus Neugier: Wie kannst du bei einer ebay-Seite Angaben in den <head> schreiben? Nach meiner Kenntnis ist nur ein in drei oder vier Tabellen verschachtelter Abschnitt im body zugänglich. Insbesondere: Wie kriegst du ein externes CSS eingebunden? Ich habe zwar schon die Variante gesehen, das dafür zuständige link-Element einfach an der benötigten Stelle im body zu notieren; das wird anscheinend von den gängigen Browsern akzeptiert, ist aber invalide und damit im Bereich des Glücksspiels einzuordnen.

      Bisher klappt alles ganz gut mit den stylesheets und ebay. habe aber auch nicht jeden existierenden browser getesten.

      Nun ist der Endbereich eines jeden Angebotes gleich (Anschrift, Infos...)
      Um dort flexibel zu bleiben und eventuell mal Daten aus diesem Bereich ohne Probleme für alle Angebote ändern zu können habe ich überlegt, diese Angaben in einem iframe abzubilden.
      Leider besteht nun das Problem, dass die Formatierungen aus dem externen CSS nicht für das iframe übernommen werden, was unabdingbar ist, da die Hintergrundfarbe mal schwarz oder weiß oder sonst wie ist und die Schriftfarbe entsprechend formatiert sein muss.

      Ja und?

      Gibt es die Möglichkeit, die Stylesheetwerte der externen .css-Datei igrendwie für die Inhalte des iframe zu übernehmen?

      Ja - binde dasselbe Stylesheet, das zur Formatierung des Angebotstextes dient, auch noch im iframe ein. Dann kannst du die Formatierungen schön aufeinander abstimmen, so dass sie immer gut harmonieren.

      WIE???

      Es macht keinen Sinn, dies in der Datei für den iframe zu definieren, da ich dann für jede .css-Datei eine separate Datei für den iframe erzeugen müsste.

      Nö. Generiere den Inhalt des iframe-Dokuments auch dynamisch, dann kannst du das jeweils zum Produkt passende Stylesheet einbinden.

      Die Datei für den iframe soll wenn möglich nur einmalig existieren und in jede Seite mit eingebunden werden, mit dem jeweils passenden Stylesheet.

      Wie bekommen ich das hin?

      Gruß
      Torge

      1. Hallo,

        Ich habe zwar schon die Variante gesehen, das dafür zuständige link-Element einfach an der benötigten Stelle im body zu notieren; das wird anscheinend von den gängigen Browsern akzeptiert, ist aber invalide und damit im Bereich des Glücksspiels einzuordnen.
        Bisher klappt alles ganz gut mit den stylesheets und ebay. habe aber auch nicht jeden existierenden browser getesten.

        ja, ich sagte ja: Von den derzeit verbreiteten Browsern wird das klaglos hingenommen.

        Ja - binde dasselbe Stylesheet, das zur Formatierung des Angebotstextes dient, auch noch im iframe ein. Dann kannst du die Formatierungen schön aufeinander abstimmen, so dass sie immer gut harmonieren.
        WIE???

        Ich verstehe die Frage nicht. Du weißt doch, wie man ein Stylesheet einbindet?

        Nö. Generiere den Inhalt des iframe-Dokuments auch dynamisch, dann kannst du das jeweils zum Produkt passende Stylesheet einbinden.
        Die Datei für den iframe soll wenn möglich nur einmalig existieren und in jede Seite mit eingebunden werden, mit dem jeweils passenden Stylesheet.
        Wie bekommen ich das hin?

        Du generierst doch die Produktbeschreibung schon dynamisch aus Datenbank-Informationen; mal angenommen, du verwendest PHP dafür. Irgendwo am Ende dieses Abschnitts kommt das iframe-Element, das ebenfalls durch ein PHP-Script erzeugt werden könnte:

        <iframe src="http://example.org/iframe.php?item=<?php echo $itemno; ?>"></iframe>

        In iframe.php schaust du halt ein zweites Mal in die Datenbank und erzeugst zum EInbinden des Stylesheets einfach dasselbe Link-Element wie schon in der Artikelbeschreibung.

        Ciao,
         Martin

        --
        Der Klügere gibt solange nach, bis er der Dumme ist.
        1. Hi,

          Du generierst doch die Produktbeschreibung schon dynamisch aus Datenbank-Informationen; mal angenommen, du verwendest PHP dafür. Irgendwo am Ende dieses Abschnitts kommt das iframe-Element, das ebenfalls durch ein PHP-Script erzeugt werden könnte:

          Noch besser: per include direkt eingebunden.

          Dann wird dasselbe CSS benutzt ...

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          O o ostern ...
          Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
        2. Hallo,

          Ich habe zwar schon die Variante gesehen, das dafür zuständige link-Element einfach an der benötigten Stelle im body zu notieren; das wird anscheinend von den gängigen Browsern akzeptiert, ist aber invalide und damit im Bereich des Glücksspiels einzuordnen.
          Bisher klappt alles ganz gut mit den stylesheets und ebay. habe aber auch nicht jeden existierenden browser getesten.

          ja, ich sagte ja: Von den derzeit verbreiteten Browsern wird das klaglos hingenommen.

          Ja - binde dasselbe Stylesheet, das zur Formatierung des Angebotstextes dient, auch noch im iframe ein. Dann kannst du die Formatierungen schön aufeinander abstimmen, so dass sie immer gut harmonieren.
          WIE???

          Ich verstehe die Frage nicht. Du weißt doch, wie man ein Stylesheet einbindet?

          Nö. Generiere den Inhalt des iframe-Dokuments auch dynamisch, dann kannst du das jeweils zum Produkt passende Stylesheet einbinden.
          Die Datei für den iframe soll wenn möglich nur einmalig existieren und in jede Seite mit eingebunden werden, mit dem jeweils passenden Stylesheet.
          Wie bekommen ich das hin?

          Du generierst doch die Produktbeschreibung schon dynamisch aus Datenbank-Informationen; mal angenommen, du verwendest PHP dafür. Irgendwo am Ende dieses Abschnitts kommt das iframe-Element, das ebenfalls durch ein PHP-Script erzeugt werden könnte:

          <iframe src="http://example.org/iframe.php?item=<?php echo $itemno; ?>"></iframe>

          In iframe.php schaust du halt ein zweites Mal in die Datenbank und erzeugst zum EInbinden des Stylesheets einfach dasselbe Link-Element wie schon in der Artikelbeschreibung.

          Ciao,
          Martin

          Irgendwie reden wir glaub ich aneinander vorbei...

          ich generiere mit der Datenbank einen HTML-Quellcode, den ich dann via copy&paste in die ebay-Maske reinkopiere. Dieser Code ist statisch. PHP kann meines Wissens nicht bei ebay nicht verwendet werden und eine direkte DB-Anbindung macht demnach auch keinen Sinn.

          In dem HTML-Code ist natürlich ganz normal ein passendes Stylesheet angebunden (wie in meinem Beispiel), welches ich aus der DB ziehe.

          Es ist mir demnach nicht möglich, einfach in die DB reinzuschauen und das Stylesheet erneut auszulesen. Auch möchte ich umgehen, das Styleesheet in die Datei für den Frame einzubinden, deswegen wende ich mich ja hier an euch, um eventuelle Lösungsvorschläge zu sammeln. Ziel soll es sein in den eigentlichen HTML-Quellcode, der die generelle Artikelbeschreibung enthält und bei ebay hinterlegt wird, einen Verweis einzubauen,  damit das dort verwendete Stylesheet auch für den iframe gilt.

          Gruß
          Torge

          PS: Das mit den Zitaten war nicht beabsichtigt. Poste hier zum ersten mal.

          1. Hallo

            Auch möchte ich umgehen, das Styleesheet in die Datei für den Frame einzubinden, deswegen wende ich mich ja hier an euch, um eventuelle Lösungsvorschläge zu sammeln.

            Das Konstrukt des Iframe erzeugt einen Container, in dem *ein anderes Dokument* ausgegeben wird. Dieses *andere* Dokument hat *nichts* mit dem Dokument, innerhalb dessen es ausgegeben wird, zu tun.

            Ziel soll es sein in den eigentlichen HTML-Quellcode, der die generelle Artikelbeschreibung enthält und bei ebay hinterlegt wird, einen Verweis einzubauen,  damit das dort verwendete Stylesheet auch für den iframe gilt.

            Da du im Iframe sowieso immer nur die gleichen Inhalte ausgeben willst, warum tust du das dann nicht innerhalb deines direkt bei ebay eingebundenen HTML-Quelltextes? Ob du nun den immer gleichen Abschnitt in einem Iframe ausgeben lässt, oder den immer gleichen Abschnitt direkt in den HTML-Quelltext einfügst, macht für dich keinen Unterschied. Für den Besucher deines Angebots ist es mindestens ein Request weniger (auch wenn das wahrscheinlich von Datenvolumen vernachlässigbar ist).

            Tschö, Auge

            --
            Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
            Terry Pratchett, "Wachen! Wachen!"
            Veranstaltungsdatenbank Vdb 0.3
          2. Hi,

            Irgendwie reden wir glaub ich aneinander vorbei...
            ich generiere mit der Datenbank einen HTML-Quellcode, den ich dann via copy&paste in die ebay-Maske reinkopiere.

            ach, ja dann! Ich dachte, du würdest die eigentliche Artikelbeschreibung auch schon als iframe von deinem eigenen Webspace einbinden. Wäre das nicht ein Ansatz? Zumindest habe ich schon etliche Anbieter bei ebay gesehen, die das so machen.

            PHP kann meines Wissens nicht bei ebay nicht verwendet werden und eine direkte DB-Anbindung macht demnach auch keinen Sinn.

            Das ist natürlich richtig.

            Ciao,
             Martin

            --
            Wer mit dem Finger droht, sollte ihn am Abzug haben, und nicht in der Nase.
          3. Hi,

            Auch möchte ich umgehen, das Styleesheet in die Datei für den Frame einzubinden

            Ziel soll es sein in den eigentlichen HTML-Quellcode, der die generelle Artikelbeschreibung enthält und bei ebay hinterlegt wird, einen Verweis einzubauen,  damit das dort verwendete Stylesheet auch für den iframe gilt.

            Das widerspricht sich. Dein Ziel, welches du gerade formuliert hast, ist genau das, von dem du darüber schreibst, dass es nicht das sei, was du möchtest.

            Du hast mehrere Möglichkeiten, Formatierungen in ein HTML-Element einzubinden:

            • Referenzierung eines ausgelagerten Stylesheets
            • ein STYLE-Bereich im HEAD des Dokumentes
            • style-Attribut an einzelnen Elementen

            Alle drei lassen sich natürlich theoretisch per JavaScript dynamisch erzeugen; allerdings erlaubt dir die Same Origin Policy auch nicht, dies von einer anderen Domain aus, als von der der Iframe-Inhalt stammt, zu tun.

            MfG ChrisB

            --
            Light travels faster than sound - that's why most people appear bright until you hear them speak.
      2. Hallo

        Leider besteht nun das Problem, dass die Formatierungen aus dem
        Gibt es die Möglichkeit, die Stylesheetwerte der externen .css-Datei igrendwie für die Inhalte des iframe zu übernehmen?

        Ja - binde dasselbe Stylesheet, das zur Formatierung des Angebotstextes dient, auch noch im iframe ein. Dann kannst du die Formatierungen schön aufeinander abstimmen, so dass sie immer gut harmonieren.

        WIE???

        [...]

        Die Datei für den iframe soll wenn möglich nur einmalig existieren und in jede Seite mit eingebunden werden, mit dem jeweils passenden Stylesheet.

        Wie bekommen ich das hin?

        Och Mönsch, du wirst doch wissen, <http://de.selfhtml.org/css/formate/einbinden.htm#separat@title=wie man ein externes Stylesheet in einem HTML-Dokument referenziert>, oder?

        Tschö, Auge

        PS: Lasse bitte beim nächsten Mal die Zitatzeichen am Anfang einer Zeile in Ruhe. Sie sorgen dafür, dass man als Leser überblicken kann, wer in einer Diskussion was gesagt hat. Demnach sind sie nicht aus Jux und Dallerei dort, wo sie sind.

        --
        Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
        Terry Pratchett, "Wachen! Wachen!"
        Veranstaltungsdatenbank Vdb 0.3
        1. Hi,

          PS: Lasse bitte beim nächsten Mal die Zitatzeichen am Anfang einer Zeile in Ruhe. Sie sorgen dafür, dass man als Leser überblicken kann, wer in einer Diskussion was gesagt hat. Demnach sind sie nicht aus Jux und Dallerei dort, wo sie sind.

          danke, ich hab mir den Hinweis diesmal verkniffen, mich aber auch schon über die Spielerei geärgert.

          Ciao,
           Martin

          --
          Lieber eine Stumme im Bett, als eine Taube auf dem Dach.