Thread Javascript und CGI wollen nicht miteinander (13 answers)
Opened by gmafx at 2011-05-06 15:51

Linuxer
 2011-05-07 16:47
#148318 #148318
User since
2006-01-27
3890 articles
HausmeisterIn

user image
Naja, Du füllst wie gehabt eine Variable und kannst dann durch Verwendung einer Array-Referenz sowohl externe JS-Dateien als auch JS-Code direkt einbinden lassen.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
my $js_code = 'alert("bin da");';

my $cgi = CGI->new;

print $cgi->start_html(
  -title => 'test',
  -style => '/css/sample.css',
  -script => [
    {
      -type => 'text/javascript',
      -src  => '/js/sorter.js', 
    },
    {
      -type => 'text/javascript',
      -code => $js_code,
    },
  ],
);


Zur Frage "wo im CGI-Skript?":
Du könntest in Deinem CGI-Skript einen Bereich definieren, in dem Du solche Variablen für einzubettende Elemente (JavaScript, CSS) definierst. Aber ich würde mir die Frage stellen, "Will ich das wirklich?".

Ich benutze das allenfalls im allerersten Entwicklungsstadium oder für Quick-Hacks; ansonsten würde ich auch das kleinste JavaScript auslagern in eigene Dateien. So muss ich nicht im CGI-Skript herum editieren, wenn ich das JavaScript ändern will/muss.
Außerdem muss das Script nicht bei jedem Seitenaufruf ausgeliefert werden, sondern wird einmal geladen und kann dann aus dem Cache des Browsers gelesen werden. Das spart Bandbreite.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Javascript und CGI wollen nicht miteinander