PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl/CGI Script und JavaScript



robert
02-05-2000, 15:36
Hallo!

Dies ist vielleicht ein ganz klein wenig off topic, aber vielleicht kann mir ja der eine oder andere einen kleinen Tip geben.

Da in Perl/CGI Scripten (bei mir) zu 99% die Environment-Variable HTTP_REFERER nicht zieht (soll heißen, sie ist nicht gesetzt), wollte ich mir eine andere Lösung einfallen lassen.
Das HTTP_REFERER nicht gesetzt ist, liegt wohl eher daran, daß das Script indirekt aufgerufen wird.

So wie ich aber festgestellt habe, ist bei JavaScript document.referrer (ja, mit zwei 'r', ich hab mich auch gewundert) gesetzt. Also wollte ich diesen Wert einfach an das Perl Script übergeben.
Ich muß dazu sagen, ich bin kein Fan von JavaScript und kenne aus diesem Grund auch nur sehr oberflächlich.
Also hab ich den Aufruf wie folgt gemacht:

<img src="/cgi-bin/perlscript?referer=javascript:document.referrer">

Nur leider wird statt des Wertes der Aufruf, also javascript:document.referrer übergeben.
Egal wie ich es eingebunden habe (mit zusätzlichen Quotes, etc.pp.).

Hat jemand eine Idee parat?

Robert

P.S.
SelfHTML konnte mir auch nicht weiter helfen!

blackbird
02-05-2000, 17:27
hi robert!

so offtopic ists doch nicht, es ist ne scriptsprache und dein script läuft sicher auf nem linuxrechner http://www.linuxinfoserver.de/ubb/wink.gif

du könntest evtl. den wert von document.referrer einer variablen zuweisen, und dann nachträglich die url eines bildes ändern. hab das schonmal gemacht, bin grad auf der suche wo das war...

hier ists:



Normal14 = new Image();
Normal14.src = bild.jpg";
window.document.images[1].src = Normal14.src;


ich denke mal dass dir theoretisch die ersten beiden zeilen schon reichen müssten, da wird ein neues bild definiert und dann das bild reingeladen, und damit müsstest du deine variable bekommen..

denkbar wär dann folgendes:


<script language=javascript>
var url="/cgi-bin/perlscript?referer="+document.referrer
temp = new Image();
temp.src = url;
</script>


hin und wieder hab ich probleme mit dem zusammenführen 2er strings mittels einfachem + aber so sollts eigentlich klappen.

grüsse blackbird

was ist jetzt passiert? eigentlich wollt ich den eintrag doch nur editieren, nicht nochmal posten.. komischkomisch

P.S.
Sorry, ich hab deinen Text mal etwas bearbeitet, da es Probleme bei der Anzeige gab! Robert

[Diese Nachricht wurde von robert am 02. Mai 2000 editiert.]

robert
02-05-2000, 19:37
Hallo!

Also logisch gesehen ist deine Idee nicht schlecht, wenn auch etwas aufwendiger als ich vielleicht vor hatte.

Aber das ganze hat noch einen anderen Haken!
Wenn ich das so richtig sehe (soweit ich mich schon mit JavaScript beschäftigt habe), dann muß ich die Nummer des Images wissen, um dieses "auszutauschen".
Aber die ist nicht fest, sondern dynamisch (je nach dem, wird verschiedenes auf der Seite angezeigt...). Ich müßte dann also jedes mal den JavaScript Code ändern.
Oder ist mein Verständis für JS da doch was falsch? (mal in SelfHTML nach schau...).

Robert

blackbird
02-05-2000, 21:25
hmm naja ob du das bild wirklich austauschen musst, glaub ich garnicht.
wenn du nur den 2. code-teil verwendest, sollte das eigentlich auch gehen.

aber nichts desto trotz:
du kannst auch jedem html-tag das attribut name=xy mitgeben, und dann genau über diesen namen aus js wieder drauf zugreifen.
also zb mittels
<pre>window.document.xy.src</pre>

dein js könntest du dann in jede seite per hand einarbeiten, oder was noch eloganter ist, mittels script src einbinden.

&lt;script language=javascript src="meinscript.js"&gt;&lt;/script&gt;


in der datei meinscript.js stehen dann nur die anweisungen, in deinem fall die 3 anweisungen um das bild in die temporäre variable zu laden, ohne jegliche html-tags.

vielleicht ists jetzt n bissl klarer geworden.. mitm erklären hab ichs noch nie so gehabt ;o)

grüsse blackbird

ich hab schon gemerkt dass da was mit der anzeige nicht so ganz klappt, hab dann per hand nochmal alle spitzen klammern in richtige html-tags umgewandelt, aber so richtig klappt das irgendwie nicht. zumindest wenn man danach nochmal zum editieren anfängt, ists alles wieder vergessen http://www.linuxinfoserver.de/ubb/frown.gif
ne ich bin einfach zu blöd.. ich werds nie packen, beim ersten schreiben des beitrags alle &amp;lt; und &amp;gt;s richtig zu setzen.. naja egal


[Diese Nachricht wurde von blackbird am 02. Mai 2000 editiert.]

robert
02-05-2000, 21:45
Na ja, ganz so einfach war es denn doch nicht, denn so einiges wollte nicht funktionieren.
Aber nach JavaScript Studiums hab ich dann auch mit bekommen, das man per TAG-ID bzw. -Name darauf zugreifen konnte.
War nur noch das Problem, das ich es per Event auslösen mußte, da beim Laden dem Browser (in diesem Fall MSIE) der Name, bzw. die ID noch nicht bekannt war.

Aber jetzt geht es...

Danke für den Tip!!!

Gruß

Robert