Beitrag von Jurenda (305 Beiträge) am Dienstag, 30.November.2004, 08:57.
Banner: HTML-Umsetzung eine Zumutung
Antworten
Beitrag von Wurstpuppenmann (2 Beiträge) am Dienstag, 30.November.2004, 10:50.
Re: Banner: HTML-Umsetzung eine Zumutung
wird ja immer besser, vor allem soll es auch noch so bleiben :(
Antworten
Beitrag von Wurstpuppenmann (2 Beiträge) am Dienstag, 30.November.2004, 12:07.
Re: Banner: HTML-Umsetzung eine Zumutung
wird ja immer besser, vor allem soll es auch noch so bleiben :(
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 30.November.2004, 21:58.
Re: Banner: HTML-Umsetzung eine Zumutung
Jups, mir ist das schon klar, dass das nicht HTML-konform ist. Das Problem ist: Es ist fast unmöglich das richtige "<body...>" zu finden. Grund: Javascript.
Ich hatte nämlich schonmal (lange her und es war nur kurz) eine Routine drin, die den flyin-Code direkt hinters <body...> schreiben sollte - kam recht schnell raus, dass es bei einigen Seiten nicht klappt, obwohl die völlig korrekt waren... Wenn aber Code wie:
document.writeln("<body...>");
auftaucht, wirds hart... Und einen Javascript-Parser bau ich jetzt deshalb nicht ein ;-)
Deshalb ist die jetzige "harte" Lösung dann doch wieder die praktisch am Besten funktionierende... ;-)
Antworten
Beitrag von Geathaa (17 Beiträge) am Montag, 6.Dezember.2004, 13:37.
Re: Banner: HTML-Umsetzung eine Zumutung
Ich hab damit im Moment auch Probleme. Und zwar ein schwerwiegendes, das meine ganze Anwendung zerschiesst! Mag sein, dass bei "normalen" Seiten die oben genannte Vorgehensweise unschön ist, solange alles noch halbwegs funktioniert soll's mir aber recht sein. Allerdings klappt zumindest bei mir das Ganze im IE gar nicht mehr, wenn ich ein Frameset definiere (Firefox macht's trotzdem noch) Kann mir nicht vorstellen, dass ich der einzige bin, der Frames verwendet. Vielleicht weiss ja jemand Rat ?
Gruß, Marcus
Antworten
Beitrag von Tom Bröse (4 Beiträge) am Montag, 6.Dezember.2004, 16:51.
Re: Banner: HTML-Umsetzung eine Zumutung
Hi Marcus,
hast Du schon mal <banner type=skysraper_small> in einem Frame verwendet?
Dann würdest Du nicht so laut husten ;-)
Antworten
Beitrag von Geathaa (17 Beiträge) am Montag, 6.Dezember.2004, 17:18.
Re: Banner: HTML-Umsetzung eine Zumutung
Lieber Tom,
Ich denke wir reden hier ein wenig aneinander vorbei ;o) Mir geht es nicht darum, selbst Banner einbauen zu wollen, mir geht es darum, dass baseportal ohne mein Zutun automatisch Banner auf meine Seiten einbaut (Ich zahle nichts für den baseportal-Service, mit dem ich ansonsten SEHR zufrieden bin, deshalb ist das auch in Ordnung und damit habe ich *im Prinzip* kein Problem). Leider führt die vom Threadstarter benannte Tatsache, dass das bp-Banner in einer Form eingebaut wird, die kein gültiges HTML mehr liefert bei meiner Anwendung dazu, dass sie im InternetExplorer nicht mehr funktioniert. Im Klartext: Meine Seite sieht im Groben so aus:
<html>
<head></head>
<frameset>
<frame>
<frame>
<noframes></noframes>
</frameset>
</html>
Das funktioniert (und hat auch bisher funktioniert). Jetzt geht Baseportal her und baut ÜBERHALB des HTML Tags den Banner ein. Das Ergebnis sieht dann so aus:
<p>
<script type="text/javascript"></script>
</p>
<html>
<head></head>
<frameset>
<frame>
<frame>
<noframes></noframes>
</frameset>
</html>
Und leider funktioniert das im InternetExplorer nicht. Es kommt einfach nur eine leere Seite, die Frames werden nicht gefüllt. Wenn ich den Quellcode der Seite speichere und den von baseportal automatisch eingefügten Teil wieder entferne funktioniert's wieder...
Wie gesagt: Wenn mir jemand einen Tip geben kann wie ich die Frameset-Seite so gestalten kann, dass es im IE wieder funktioniert wäre ich dankbar...
Gruß Marcus
Antworten
Beitrag von Tom Bröse (4 Beiträge) am Montag, 6.Dezember.2004, 17:58.
Re: Banner: HTML-Umsetzung eine Zumutung
Hi Marcus,
stimmt nicht so ganz, was Du sagst,
schau mal unter http://www.sportas-sport.de/ und dort unter Referenzen, das sind baseportal-Templates, die exakt in so einem Frame aufgerufen werden, eingefügt wurde <banner type=skyscraper_small> .
Dein bemängelter Code steht eindeutig innerhalb der body-Tags.
Antworten
Beitrag von Geathaa (17 Beiträge) am Montag, 6.Dezember.2004, 19:13.
Re: Banner: HTML-Umsetzung eine Zumutung
Hallo Tom,
Die Seiten auf die dein Link verweist funktionieren. Allerdings gibt es 2 wesentliche Unterschiede:
Erstens ist die einbindende Seite kein Frameset sondern der Frame selbst (Wie du selbst richtigerweise geschrieben hast werden die Seiten IN einem Frame(set) aufgerufen, bei mir ist die Baseportal-Seite das Frameset selbst, das ist ein kleiner aber feiner Unterschied). Der Aufbau deiner Frameset-Seite entspricht dem Aufbau, den ich als erstes (funktionierendes) Beispiel genannt habe. (Wahrscheinlich ist in deinem Beispiel das Frameset statisch und nur die Frames selbst werden dynamisch von Baseportal erzeugt?)
Zweitens steht hier der Code, der das Banner einblendet, korrekter- und komischerweise zwischen <body> Elementen.
Worauf ich hinaus will ist folgendes: Weil ich eine vorgeschaltete Benutzerauthentifizierung habe muss meine Frameset-Seite auch dynamisch erzeugt werden und deshalb bei Baseportal liegen (es muss dynamisch eine SessionID übergeben werden). Alle von Baseportal "erzeugten" Seiten haben diese Banner-Einblendung. Dabei wird offensichtlich auch nicht immer gleich vorgegangen. Auf manchen Seiten meines Projekts erscheinen <div>'s mit Bildern, auf manchen sorgt ein Javascript dafür, dass <iframe> Elemente reingeschrieben werden, die dann das Banner nachladen.
Fakt ist, dass Baseportal auf meiner Frameset-Seite den Banner-Code wie oben beschrieben AUSSERHALB des Body-Elements platziert, und sogar AUSSERHALB des <HTML> Tags. Diesen Umstand schildert ja auch Jurenda(Andreas), der diesen Thread angefangen hat. Das führt eben dazu, dass das Ganze im IE nicht funktioniert.
Ich würde ja einen Link auf meine baseportal Anwendung posten aber da ist wie gesagt eine Login-Seite davor. Vielleicht kann ich mal in den nächsten Tagen eine einfachere Beispiel-Seite basteln...
Grüße, Marcus
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 6.Dezember.2004, 19:52.
Re: Banner: HTML-Umsetzung eine Zumutung
Antworten
Beitrag von Geathaa (17 Beiträge) am Dienstag, 7.Dezember.2004, 09:53.
Re: Banner: HTML-Umsetzung eine Zumutung
Christoph, danke für die klärenden Worte. Ich stand wohl etwas auf dem Schlauch ;o) Habe das Ganze an einem einfachen Beispiel ausprobiert und es funktioniert natürlich, wenn ich zB folgende Seite erzeuge:
<html>
<head>
<title>MyFrameset</title>
</head>
<frameset rows="200,*">
<frame name="frame1" src="http://baseportal.de/cgi-bin/baseportal.pl?htx=/Geathaa/test/frame1"/>
<frame name="frame2" src="http://baseportal.de/cgi-bin/baseportal.pl?htx=/Geathaa/test/frame2"/>
<noframes><banner type="skyscraper">Keine Frames<noframes>
</frameset>
</html>
So. Leider leider ist das Thema immer noch nicht ganz vom Tisch, denn ich verwende wie gesagt eine Benutzerauthentifizierung mit Sessionverwaltung. zu Beginn der Seite wird nachgeschaut, ob eine gültige Session besteht und nur in diesem Fall wird der HTML-Code mit out geschrieben. Ist der Benutzer nicht angemeldet oder ist die Session abgelaufen so erfolgt gar keine Ausgabe. Sieht also im Prinzip so aus:
<perl>
my $sessioncheck = "true";
if($sessioncheck eq "true") {
out <<EOF;
<html>
<head>
<title>MyFrameset</title>
</head>
<frameset rows="200,*">
<frame name="frame1" src="http://baseportal.de/cgi-bin/baseportal.pl?htx=/Geathaa/test/frame1"/>
<frame name="frame2" src="http://baseportal.de/cgi-bin/baseportal.pl?htx=/Geathaa/test/frame2"/>
<noframes><banner type="skyscraper">Keine Frames<noframes>
</frameset>
</html>
EOF
Und in diesem Fall wird das Banner nämlich NICHT an die durch das <banner> Tag gekennzeichnete Stelle gesetzt sondern wie beschrieben ausserhalb der <html> Tags.
Die Lösung sieht jetzt für mich jetzt so aus, dass ich bei der Frameset-Seite einfach auf die Überprüfung der Session verzichte und nur die <frame> Tags mit perl ausgebe. Dann funktioniert alles so wie's soll.
Güße und Danke nochmal für eure Hilfe, Marcus
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 7.Dezember.2004, 13:08.
Re: Banner: HTML-Umsetzung keine Zumutung mehr ;-)
Gar keine Ausgabe? Ist aber auch nich so die prima Idee... ;-)
Mach doch z.b.
if($sessioncheck eq "true") {
...
} else
{
out "<banner>Sie sind nicht angemeldet oder die Session ist abgelaufen";
}
Übrigens dürfen hier keine ".." stehen, also nicht
<banner type="skyscraper">
sondern
;-)
Antworten
Beitrag von Geathaa (17 Beiträge) am Mittwoch, 8.Dezember.2004, 10:10.
Re: Banner: HTML-Umsetzung keine Zumutung mehr ;-)
Hallo Christoph,
Danke für die Tips. Ein Punkt bleibt allerdings bestehen: die Ersertzung des <banner> tags funktioniert nicht, wenn das <banner> tag nicht "direkt" auf dem Template steht sondern mit <perl> und out auf dem Template ausgegeben wird. Ob das skyscraper von Anführungszeichen eingeschlossen ist oder nicht macht hier auch keinen Unterschied. Das Template:
<perl>
my $sessioncheck = "true";
if($sessioncheck eq "true") {
out <<EOF;
<html>
<head>
<title>MyFrameset</title>
</head>
<frameset rows="200,*">
<frame name="frame1" src="http://baseportal.de/cgi-bin/baseportal.pl?htx=/Geathaa/test/frame1¶m=frame1param"/>
<frame name="frame2" src="http://baseportal.de/cgi-bin/baseportal.pl?htx=/Geathaa/test/frame2¶m=frame2param"/>
<noframes><banner type=skyscraper>Keine Frames<noframes>
</frameset>
</html>
EOF
führt zu folgendem Resultat, das im IE nicht funktioniert:
<p align=center>
<script type="text/javascript"><!--
google_ad_client = "pub-2383597772881744";
google_alternate_ad_url = "http://baseportal.de/google_alternate.html";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_color_border = "800000";
google_color_bg = "F0F0F0";
google_color_link = "D80000";
google_color_url = "D80000";
google_color_text = "000000";
google_ad_channel ="9558172095";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</p>
<html>
<head>
<title>MyFrameset</title>
</head>
<frameset rows="200,*">
<frame name="frame1" src="http://baseportal.de/cgi-bin/baseportal.pl?htx=/Geathaa/test/frame1¶m=frame1param"/>
<frame name="frame2" src="http://baseportal.de/cgi-bin/baseportal.pl?htx=/Geathaa/test/frame2¶m=frame2param"/>
<noframes><banner type=skyscraper>Keine Frames<noframes>
</frameset>
</html>
<br><center><font face=arial,helvetica size=1>powered by baseportal.de<br><a href="http://baseportal.de" target="_blank" style="text-decoration:underline;font-size:12px">Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!</a></font></center><br>
Wie gesagt, wenn man das weiss kann man's ja umgehen und meine Anwendung läuft mittlerweile auch wieder. Wollte es nur nochmal als kleinen perfektionistischen Verbesserungsvorschlag erwähnen ;o)
Grüße, Marcus
Antworten