[Gelöst] Javascript Element ohne CSS/Theming Einflüsse ausgeben?
am 29.11.2011 - 18:04 Uhr in
Hallo - hier wahrscheinlich mal wieder eine blöde Frage eines Programmier-unkundigen... ;-)
Ich habe für meine Site ein, bzw. mehrere Werbemittel erstellt, die ich als javascript-Textschnipsel vorliegen habe und die ich nun auf ganz normalen (Buch)Seiten einbinden möchte.
Die Werbemittel (Tabellen) sind selbst schon beim Anlegen mit allen notwendigen Festlegungen versehen, was Farben, Schriften, Größen etc. angeht - d.h. die "Rohversion" dieser Werbemittel ist schon genau das, was ich brauche.
Wenn ich diese aber nun in einem node einbaue (Eingabeformat Full HTML) dann scheint mir das Theme die komplette Tabelle, die aus dem javascript kommt, nochmal zu verwursten und aus eigentlich nur 1px hohen Trennlinien werden plötzlich zeilenhohe "Blöcke"... und noch so ein paar kleinere andere Effekte...
Daher meine Frage: Kann ich ein irgendwie in einem node einfügen, ohne das die Ausgabe der erzeugten Tabelle nochmal irgendwie angefasst/gestylt/gethemed wird?
PHP Code wäre auch ein mögliches Eingabeformat... kann man damit vielleicht irgendetwas machen, damit man das Theming des node-Inhaltes umgeht?
Bin für jeden Hinweis dankbar!
- Anmelden oder Registrieren um Kommentare zu schreiben

CSS
am 30.11.2011 - 08:54 Uhr
... Kann ich ein
<script language="JavaScript" src="http://........"></script>irgendwie in einem node einfügen, ohne das die Ausgabe der erzeugten Tabelle nochmal irgendwie angefasst/gestylt/gethemed wird?Nein.
Da das vom Javascript generierte HTML direkt in das DOM (DocumentObjectModel) der Seite eingefügt wird (es also ein Teil der gesamten Seite wird), werden auch alle passenden CSS-Anweisungen darauf ausgeführt.
Du solltest das HTML ohne jegliche Style-Anweisungen per JS generieren und dann über ein zusätzliches Stylesheet (das Du ganz normal in der Seite einbindest) "aufhübschen".
Scheint schwierig zu werden...
am 30.11.2011 - 13:28 Uhr
Hallo und danke schon mal für die schnelle und klare Antwort.
In der Zwischenzeit hatte ich auch noch den Umweg über Panels/Content Panes ausprobiert, um zu sehen, ob ich nicht für einzelne Panes und entsprechend zugewiesenen CSS Klassen oder IDs was an der Javascript Ausgabe ändern kann. Tut es leider auch nicht... war so mein letzter Versuch mit meinen begrenzten Kenntnissen.
Auf das JS habe ich leider nur begrenzten Einfluss, da es aus einem "Werbemittelgenerator" herauspurzelt - es kommt also von extern und enthält dann default-Werte, auch wenn ich selbst nichts anderes festlege. Also "ohne jegliche Style-Anweisungen" dürfte nicht gehen.
Ich bin mir jetzt nicht sicher, was du mit dem zusätzlichen Stylesheet meinst - eine eigene ....tpl.php oder irgendwas in den .css files des Themes oder irgendwas ganz anderes?
Ich würde das gerne mal ausprobieren ob das nicht zumindest teilweise funktionieren würde, auch wenn das HTML vom JS schon gewisse Informationen/Anweisungen enthält...
Vielleicht...
am 30.11.2011 - 13:44 Uhr
...hilft dir dieser Link weiter.
Es geht darum, den Code mit einem eigenen
Zufriedenstellend gelöst...!
am 30.11.2011 - 19:06 Uhr
Hallo zusammen,
und danke auch noch für den zweiten Tipp...
Das ganze JS Ding als div zu umschliessen, war tatsächlich schon mal ein Schritt in die richtige Richtung... Also ganz einfach:
<div class="werbemittel"><script language="JavaScript" src="http://api.partner. (...) "></script>
</div>
Um den gewünschten Effekt bei der Ausgabe zu erzeugen (minimieren der leeren Zeilenzwischenräume, die warum auch immer sehr groß waren, bei gleichzeitiger normaler Lesbarkeit der mit Text/Links gefüllten Zeilen), musste ich ein wenig rumprobieren, komme aber jetzt mit folgenden minimalistischen Änderungen in der style-base.css für die class=werbemittel aus:
.werbemittel td {line-height: 0;
vertical-align: middle;
}
.werbemittel a {
line-height: normal;
}
So ist die Ausgabe brauchbar - vielleicht hätte man auf die Weise noch mehr Details bearbeiten können aber für mich ist das erstmal ok.