Javaskript und perl(CGI-)skripte kombinieren?
mystery
- javascript
0 richard
Hallo miteinander!
Ich programmiere derzeit eine Internetseite mit perl. Das Perlskript ließt den Verzeichnisinhalt ein und gibt die dort liegenden Bilddateien in einer Tabelle aus.
Nun habe ich auf einer anderen Seite einmal ein fertiges Javaskript verwendet, welches Bilddaten in den Cache vorlädt. Allerdings musste ich in diesem Skript die Dateinamen einzeln eingeben, was eine Heidenarbeit war.
Meine Idee ist es nun die eingelesenen Dateinamen aus Perl an das Javaskript zu übergeben. Ist das möglich, bzw. gibt es eine andere Möglichkeit?
Vielen Dank
Martin
Hallo Martin!
Dein Pearlskript erzeugt dir ja eine neue HTML Seite. Nachden du die Dateinamen eingelesen hast, nehme ich an, dass sie in einem Array liegen.
Mein Tip ist nun: Lass dein Pearl Script das Javascript in die zurückgegebene Seite direkt einbauen (leider programmierte ich bisher nur c++ CGIs, deshalb verwende ich c++ Syntax).
Bsp.:
printf("<script>\n");
printf("var a="%s";\n",myStringvar);
printf("function myAlert(additional)\n");
printf("{\n");
printf("alert(a+additional)\n");
printf("}\n");
printf("</script>\n");
Was passiert hier? myStringvar ist eine Variable, die unter C++ mit einem Wert belegt ist (z.B. myStringvar= "Hallo Welt ").
(in deinem Fall in Pearl)
Der vom CGI zurückgegebene HTML Code ist:
<script>
var a="Hallo Welt ";
function myAlert(additional)
{
alert(a+additional)
}
</script>
Wenn du dieses Script nun mit myAlert("du schöne") aufrufst, ist der endgültige alert: Hallo Welt du schöne.
Natürlich kannst du mittels einer Schleife in Pearl auf diese weise beliebig viele Variablen im JavaScript setzen (auch dein Array übergeben).
Ich hoffe, es ist klar, was ich meine.
Viel Spass,
Richard