Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]431[/thread]

In Perl Script: Javascript Code auslagern

Leser: 3


<< >> 6 Einträge, 1 Seite
Gast Gast
 2005-02-12 15:59
#4354 #4354
Ich wollte im folgenden (sehr verkürztem Perl-Script) den Javascript Code auslagern
(Ersetzen der 5 Zeilen des Scripts unten durch
Code: (dl )
 <script language="JavaScript1.2" SRC="..//myJSlib/test.js">

)
Im Originalskript kam korrekt das Alert-Fenster mit dem Text "ungültig".
In der 2. Version wird die Zuweisung nicht erkannt und es kommt der Text "$Fehler".
Woran kann dies liegen ?? Wie kann ich den Javascript-Code trotzdem auslagern ?
test.pl:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/perl -wT
use strict;
print "Content-type: text/html\n\n";

#
# bla bla bla
#

use vars qw($Fehler);
$Fehler = "ungültig";

#
# bla bla bla
#

print <<"EOT";

<HTML>
<HEAD>
[b]
<script language="JavaScript1.2">
<!--
alert ("$Fehler");
//-->
</script>
[/b]

</HEAD>
<BODY>

<h1 align="center">Kopfzeile1</h1>
</BODY>
</HTML>

EOT


test.js:
Code: (dl )
alert ("$Fehler");[/b]
renee
 2005-02-12 18:52
#4355 #4355
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
JavaScript weiß ja nicht, dass Du da ne Variable haben willst. Das müsstest Du schon etwas umständlicher machen...

test.js:
Code: (dl )
1
2
3
function myAlert(var message){
alert(message);
}


Und in dem HTML musst Du das noch aufrufen, z.B.:
Code: (dl )
<input type="button" onclick="myAlert('Fehlermeldung')">
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
steffenw
 2005-02-13 00:10
#4356 #4356
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
... aber keiner verbietet Dir, mit Perl Javascript zu erzeugen.

Bei mir sieht das z.B. im HTML aus:
Code: (dl )
<script language="JavaScript" src="http://localhost/cgi-bin/wi_termin.pl?filename=wi_termine.txt" type="text/javascript"></script>

und in Perl:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/bin/perl -T
use strict;
print "Content-Type: text/html\n\n";
...
print "var _termine = new Array (\n";
for (@termin)
{ sprintf
qq~ new Array (%d, "%s", "%s"),\n~,
...
}
...
$SIG{USER} = sub {love 'Perl' or die};
wastl
 2005-02-13 10:08
#4357 #4357
User since
2005-02-13
40 Artikel
BenutzerIn
[default_avatar]
Ich möchte allerdings nicht bei jedem Aufruf der Seite das Script erzeugen, sondern ein fertiges Javascript aufrufen, allerdings mit
variablen Werten aus Perl, die dann beim Aufruf zugewiesen werden.
steffenw
 2005-02-13 11:27
#4358 #4358
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
So war das auch nicht gemeint. Lade 2 Java-Scripte, einmal das mit der Variablendefinition. Das mußt Du natürlich zur Laufzeit erzeugen und einmal das, welches das eigentliche Java-Script ist und das lade danach. Dann kann dieses auf die Variablen auch zugreifen. Denn Du kannst das Java-Script auf der HTML-Seite ja auch verteilen und trotzdem gehört alles noch zusammen. Ich hatte das gestern nur nicht so ausführlich beschreiben.

die Variablen definieren und initialisieren:
Code: (dl )
<script language="JavaScript" src="http://localhost/cgi-bin/wi_termin.pl?filename=wi_termine.txt" type="text/javascript"></script>

und dann das eigentliche Script
Code: (dl )
<script language="JavaScript" src="http://localhost/winkler/js/termin.js" type="text/javascript"></script>
\n\n

<!--EDIT|steffenw|1108287586-->
$SIG{USER} = sub {love 'Perl' or die};
wastl
 2005-02-13 23:41
#4359 #4359
User since
2005-02-13
40 Artikel
BenutzerIn
[default_avatar]
Jetzt habe ich es verstanden, danke.
<< >> 6 Einträge, 1 Seite



View all threads created 2005-02-12 15:59.