Importieren ext. Stylesheets in CGI-Script

franco98

NetBSDler aus Leidenschaft
Hallo,

ich muß nach langem Suchen im Web nun doch mal eine Frage loswerden:

Was mache ich falsch, wenn ich eine ext. Stylesheet-Datei (styles.css) in meinen
PerlScripten mit folgenden Befehl einbinde?

*
*
*
print <<END_TOKEN;
Content-type: text/html\n\n
<html>
<head>
<title>Main</title>
<style type="text/css">
\@import url ("http://sql-server/cgi-bin/zentralop/anaesthesie/styles.css") ;
</style>
</head>

*
*
*
END_TOKEN

Die Styles-Datei funktioniert, wenn ich die ca. 100 Seiten im reinen HTML schreibe, sobald ich sie aber auf dem Apache und in Perl eingebettet darstellen lasse, wird die styles.css ignoriert, alle Formatierungen sind wirkungslos!

Jemand 'ne Plan? Google bringt immer nur das Einbetten im HTML, ohne print <<END_TOKEN; mit dem print-Befehl geht auch nicht, aber die einzelnen Formatierungen aus der Styles-Datei im Header funktioniert!

Gruß und Dank Frank

P.S. der link-Befehl zum Einbetten der styles.css funktioniert auch nicht!
 
Laß das ganze <STYLE>...</STYLE> weg und versuche statt dessen mal:
Code:
<LINK REL="stylesheet" TYPE="text/css" HREF="http://sql-server/cgi-bin/zentralop/anaesthesie/styles.css">
CSS wird vom jeweiligen Browser am anderen Ende der Leitung interpretiert, wie der Rest des HTML-Codes auch. Deinem Perl-Code ist CSS eigentlich egal. Rufe die Seite in einem Browser auf und laß dir den Quelltext anzeigen. Darin muß der <LINK>-Tag wie oben angegeben erscheinen. Dein Browser sollte sich dann die CSS-Datei heruntergeladen und entsprechend interpretiert haben. Tut er das nicht, stimmt evtl. was mit den Zugriffsrechten der CSS-Datei auf dem Server nicht.

Oder mißverstehe ich deine Intention jetzt völlig?
 
Danke!

Der Fehler war bei mir, die Stylesheet-Datei hatte keinen Perl-Kopf für den Interpreter vom Apache, nun geht alles - ist mir jetzt auch klar! War nur ASCII und damit konnte der Webserver nichts anfangen.

Gruß Frank
 
franco98 schrieb:
print <<END_TOKEN;
Content-type: text/html\n\n
<html>
<head>
<title>Main</title>
<style type="text/css">
\@import url ("http://sql-server/cgi-bin/zentralop/anaesthesie/styles.css") ;
</style>
</head>
Das ist doch Perl und kein PHP! :grumble: Da bekommst du etwas viel schoeneres mitgeliefert. :)

Mit CGI.pm kannst du wunderbar Webseiten darstellen und musst dich auch nicht lange mit dem HTML Krams, W3 Validation, etc.. rumschlagen.

Code:
#!/usr/bin/perl -w
use strict;
use warnings;
use CGI;

my $cgi = new CGI;
my $css = 'http://sql-server/cgi-bin/zentralop/anaesthesie/styles.css';

print $cgi->header(),
          $cgi->start_html(-title => 'Main', -style => {-src => $css}),
          $cgi->end_html();
 
sebbo schrieb:
Das ist doch Perl und kein PHP! :grumble: Da bekommst du etwas viel schoeneres mitgeliefert. :)

Mit CGI.pm kannst du wunderbar Webseiten darstellen und musst dich auch nicht lange mit dem HTML Krams, W3 Validation, etc.. rumschlagen.

Code:
#!/usr/bin/perl -w
use strict;
use warnings;
use CGI;

my $cgi = new CGI;
my $css = 'http://sql-server/cgi-bin/zentralop/anaesthesie/styles.css';

print $cgi->header(),
          $cgi->start_html(-title => 'Main', -style => {-src => $css}),
          $cgi->end_html();

Da hast du natürlich vollkommen recht, aber

a: ich habe die ca. 100 Webseiten schon komplett im HTML geschrieben (noch ohne den Apache, local sozusagen)

b: ich liebe plain text

C: es ist in diesem Fall für mich übersichtlicher, das HTML ins Perl einzubetten

Viele Wege führen nach Rom!

Danke für deine Kritik,

Gruß Frank
 
Zurück
Oben