Forenindex » Programmierung/Entwicklung » JavaScript » JavaScript und SSI - Problem beim Einlesen von Text

JavaScript und SSI - Problem beim Einlesen von Text

Turicon
Beiträge gesamt: 161

7. Sep 2003, 22:56
Bewertung:

gelesen: 2362

Beitrag als Lesezeichen
Hallo Leute,

habe folgenden JS-Code in einer shtml - Datei:
....
if (var1<=var2) {document.write('<!--#include file="news.txt" -->'); }
....

Das klappt wunderbar, solange in news.txt kein Zeilenumbruch vorkommt. Aber dieser Text soll eine ziemlich große HTML-Seite ohne Head und Body-Bereich sein. Meine Fragen:
1. Gibt es eine Möglichkeit (ohne die Textdatei zu ändern), dass JavaScript den ganzen Text ohne meckern schluckt?
2. Falls es nur geht, wenn alle Zeilenumrüche entfernt werden müssen - welches Tool könnt Ihr dafür empfehlen?
3. Ist eventuell bei einer Kombination aus JS und PHP das Einfügen einer Textdatei besser lösbar? (nur hat mein Kunde leider kein PHP bei seinem Provider und ich fände eine SSI-Lösung einfach elegant)

Vielen Dank im voraus,
Jens



|: Webdesign von der Nordsee :|
http://www.piske.de

JavaScript und SSI - Problem beim Einlesen von Text

SabineP
Beiträge gesamt: 7586

7. Sep 2003, 23:20
Bewertung:

gelesen: 2362

Beitrag als Lesezeichen
Hallo Turicon,

>> if (var1<=var2) {document.write('<!--#include file="news.txt" -->'); }

mit welchem Webserver/Betriebssystem funktioniert denn soetwas?

Laut Apache - Dokumentation funktioniert soetwas nicht.

Ich könnte mir jedoch eine Lösung vorstellen, die vollkommen ohne Javascript auskommt.
http://httpd.apache.org/...mod/mod_include.html

Wie wird denn der Inhalt von var1 und var2 gesetzt?

Gruß Sabine

JavaScript und SSI - Problem beim Einlesen von Text

Turicon
Beiträge gesamt: 161

7. Sep 2003, 23:40
Bewertung:

gelesen: 2362

Beitrag als Lesezeichen
Hi Sabine,
ja - ich habe auch stundenlang alles mögliche versucht, aber bei 1&1 will man 2x -- statt normalerweise 1x - und das muß man erstmal herausbekommen! :-)

In var1 ist die aktuelle Breite des Fensters abgelegt (momentan per document.body.clientWidth für den IE, später mach ichs auch noch für Netscape und co). In var2 die entsprechende Bedingung, ob das Fenster z.B. kleiner 760px ist. Alles ist noch weiterverschachtelt mit "else if" und wie gesagt, funktioniert, solange keine Textumbrüche vorkommen. Dein Linktipp hilft mir leider nicht weiter. Trotzdem Danke,

Gruß,
Jens


|: Webdesign von der Nordsee :|
http://www.piske.de

JavaScript und SSI - Problem beim Einlesen von Text

SabineP
Beiträge gesamt: 7586

8. Sep 2003, 00:05
Bewertung:

gelesen: 2362

Beitrag als Lesezeichen
Hallo Jens,

wenn ich Dich richtig verstanden habe, dann möchtest Du abhängig von der Bildschirmauflösung verschiedenen HTML-Code ausgeben.
Die Fenstergröße läßt sich natürlich nicht mit SSI ermitteln, da hilft nur Javascript.

Ich würde auf jeden Fall vermeiden SSI und Javscript zu vermengen.

Wenn Deine Variante oben funktioniert (war mir da erst nicht so sicher),
dann schau Dir mal den Quellcode an, der dabei produziert wird.

Jede einbundene Datei wird als HTML-Quellcode komplett an den Browser gesendet.
Das belastet natürlich zusätzlich den Webserver und den Clienten.

Vielleicht bringt Dich dieser Beitrag weiter:
http://www.hilfdirselbst.ch/...=7&topic_id=2964
Dieses Javascript funktioniert in allen Browsern.

Gruß Sabine

(Dieser Beitrag wurde von SabineP am 8. Sep 2003, 00:35 geändert)

JavaScript und SSI - Problem beim Einlesen von Text

Turicon
Beiträge gesamt: 161

8. Sep 2003, 00:40
Bewertung:

gelesen: 2362

Beitrag als Lesezeichen
Hei Sabine,

Ja, Du hast es erfaßt. Der Kunde wünscht eine Webseite, die schon mit 640er Auflösung funktionieren soll (für die Kunden mit Palms, Handhelds und wie das ganze Gelumb heißt *grins*)! Und dann soll es bitteschön mit 800er oder gar 1024er Auflösung auch noch gut aussehen. Ich habe auch eine ganz feine Idee, dies ohne großen Mehraufwand zu realisieren. Aber dazu brauche ich unbedingt diese Abfrage.

Den von Dir empfohlenen Thread kenne ich, habe ja schon mehrere Foren durchforstet. "screen.width" bringt mir aber nichts - was wirklich zählt ist das Browserfenster. Ich möchte dem Besucher nicht vorschreiben, wie groß er das Fenster haben sollte, das ist nicht die feine Art. Selbst habe ich z.B. eine 1280er Auflösung, den Browser aber nie als Vollbild, warum auch.

Wenn ich bei der Ausgabe den Quelltext anschaue, ist der ganze Text mit allen HTML-Befehlen drin (innerhalb der Hochkommata). Aber es wird nichts ausgegeben und es kommt die Fehlermeldung: "Nicht abgeschlossene Zeichenfolgenkonstante".

Wenn JS denn keine Lösung bietet, werde ich versuchen, den Text mittels Echo per PHP auszugeben. Vielleicht funktioniert das dann und meinen Kunden bringe ich dazu, auf einen Provider mit PHP-Unterstützung umzusteigen.

Gute N8,
Jens


|: Webdesign von der Nordsee :|
http://www.piske.de

(Dieser Beitrag wurde von Turicon am 8. Sep 2003, 19:37 geändert)

JavaScript und SSI - Problem beim Einlesen von Text

Miro Dietiker
Beiträge gesamt: 699

8. Sep 2003, 00:53
Bewertung:

gelesen: 2362

Beitrag als Lesezeichen
Hi Turicon!

Folgende Tipps meinerseits...

Variante A: Flash verwenden, denn der kann einfach auf Fensterbreite
ausgegeben werden und skaliert!

Variante B: Komplettes Berechnen im Code der Format-Grössen,
wobei man immer bewusst sein muss, dass für Browser ohne Javascript
Basisgrössen doch da sein müssen. Dabei benötigst du jedoch keine
Fileweiche.

Variante C: Weiche mit Javascript auf Hauptseite (Diese so machen,
dass Suchmaschinen Links darauf finden, der Browser jedoch (wenn
überhaupt) nur kurz ein Loading-Button findet. Für Browser ohne JS
unbedingt zu Default verlinken oder Link zu unterschiedlichen Auf-
lösungen. Danach kann man voll unabhängige Seitenvarianten fahren.

Variante D: Weiche mit JS auf jeder Seite, wobei die Fenstergrössen
beim automatischen Weiterleiten auf die effektive Hauptseite via
Javascript übertragen werden. Diese Auflösung kann jetzt auf dem
Server zur Sitzung via PHP gespeichert werden und für die Ausgabe
bei der Verwendung von statischem HTML verwendet werden.

...

Was aber sicher nicht geht ist die Variante mit SSI, da Javascript
Zeilenorientiert ist und SSI wirklich nur für das "bedingungsloses
Einfügen von Dateien" geeignet ist..

... Aber mich macht keine dieser Varianten so richtig glücklich .)

GrEeZ: Miro Dietiker

JavaScript und SSI - Problem beim Einlesen von Text

Turicon
Beiträge gesamt: 161

8. Sep 2003, 01:02
Bewertung:

gelesen: 2362

Beitrag als Lesezeichen
Hi Miro,

Flash fällt grundsätzlich aus. Und Deine anderen Tipps habe ich in der ein oder anderen Weise schon durchgekaut und verworfen, da es zuviel Aufwand bedeutet. Es geht aber einfacher! Geht mal auf diese Seite und verändert mal die Fenstergröße: http://neue-energie-technik.net/index.htm
Klar könnte ich die Seite "grabben" und analysieren - das ist aber nicht mein Ding und die Lösung sollte doch nicht soooooo verzwickt sein ;-)
Außerdem, so perfekt will ich es auch garnicht haben.

Bis morgen,
Jens

|: Webdesign von der Nordsee :|
http://www.piske.de

(Dieser Beitrag wurde von Turicon am 8. Sep 2003, 01:05 geändert)

JavaScript und SSI - Problem beim Einlesen von Text

SabineP
Beiträge gesamt: 7586

8. Sep 2003, 01:28
Bewertung:

gelesen: 2362

Beitrag als Lesezeichen
Hallo Miro,

>>und SSI wirklich nur für das "bedingungsloses Einfügen von Dateien" geeignet ist..

Es gibt ganz zauberhafte Möglichkeiten Dateien per include abhängig von Bedingungen mit SSI einzufügen.
Sämtliche Umgebungsvariablen die <!--#printenv --> bereithält können als Bedingung verwendet werden.
Einige Beispiele gibts hier:
http://hotwired.lycos.com/...y/97/39/index1a.html

Turicon wird aber damit nichts anfangen können, da SSI die Fenstergröße des Browsers nicht kennt.

Mein Favorit für Turicon wäre die Verwendung von HTML (mehrere Tabellen mit %-Angaben) und CSS,
um das Layout an das Browserfenster anzupassen.

Hier noch zwei Vorschläge:
http://www.projectseven.com/...box/2boxnoscript.htm
http://www.projectseven.com/...box/3boxnoscript.htm

Gruß Sabine

(Dieser Beitrag wurde von SabineP am 8. Sep 2003, 01:29 geändert)

JavaScript und SSI - Problem beim Einlesen von Text

Turicon
Beiträge gesamt: 161

8. Sep 2003, 08:06
Bewertung:

gelesen: 2362

Beitrag als Lesezeichen
Guten Morgen zusammen,

ein neuer Tag und einmal alles überschlafen bringt eine wichtige und grundsätzliche Erkenntnis. Egal ob PHP oder SSI - da es serverseitige Sprachen sind, wird alles VOR dem Javascript ausgeführt. Ist ja auch logisch.... :-|

** Ergänzung: Habe nun eine Lösung gefunden ohne SSI und ohne PHP! **

Herzlichen Dank an Sabine und Miro. Schön, dass Ihr mir versucht habt zu helfen.

Ich wünsche Euch eine angenehme Woche,
Jens

|: Webdesign von der Nordsee :|
http://www.piske.de

(Dieser Beitrag wurde von Turicon am 8. Sep 2003, 19:41 geändert)