Umleitung mit VBScript
Wallentraud
- html
Grüße
Wenn jemand meine Webseite besucht soll eine andere Webseite aufgerufen werden. Je nach dem von welcher Landingpage dieser Besucher gerade kommt.
Also je nach URL wird dieser mittels meines VBScripts an diese Weitergeleitet.
Nun habe ich Schwierigkeiten die Url von der der nutzer gekommen, der Form ,die das Umleitungsscript aufruft, zu übergeben.
Folgenden Code ahbe ich bereits
<html>
<head>
<SCRIPT LANGUAGE="vbscript">
Document.Forms(0).Elements(0).Value = Request.ServerVariables("Url")
</SCRIPT>
</head>
<body onLoad="document.forms['weiche'].submit();">
<form action="redirectfirst.asp" name="weiche" method="post">
<input type="hidden" name="URL" />
</form>
</body>
</html>
Meine Idee ist das Script automatisch aufzurufen bei Webseitenstart.
Die Value von dem Inputelement mit dem namen "URL" möchte ich gerne festlegen. Das soll der URL sein mit der der User ankommt ( Refferer und so weiter) Kann jemand sehen warum die Value nicht nicht übergeben wird? oder was mein grundsätzlicher fehler ist..bin auf dem gebiet noch nicht so firm.
Vielen dank
Hi!
<SCRIPT LANGUAGE="vbscript">
Document.Forms(0).Elements(0).Value = Request.ServerVariables("Url")
</SCRIPT>
> Die Value von dem Inputelement mit dem namen "URL" möchte ich gerne festlegen.
Ich bin kein VBSer, aber "URL" und "Url" sind wohl zwei verschiedene Dinge.
off:PP
--
"You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
Hallo Peter,
Document.Forms(0).Elements(0).Value = Request.ServerVariables("Url")
Die Value von dem Inputelement mit dem namen "URL" möchte ich gerne festlegen.
Ich bin kein VBSer,
das merkt man.
aber "URL" und "Url" sind wohl zwei verschiedene Dinge.
VB und VB-Script sind case-insensitiv.
Freundliche Grüße
Vinzenz
Hi Vinzenz!
Ich bin kein VBSer,
das merkt man.
nicht schlimm;)
aber "URL" und "Url" sind wohl zwei verschiedene Dinge.
VB und VB-Script sind case-insensitiv.
Aber wieso ist die Ausgabe von:
If "Url" = "URL" Then
WScript.Echo "YES!"
Else
WScript.Echo "No!"
End If
bei mir "No!"?
Es ging in dem Beispiel doch um übergebene Parameter, nicht um Namen von Variablen o.ä.
off:PP
Hallo,
Also je nach URL wird dieser mittels meines VBScripts an diese Weitergeleitet.
Du solltest zwei Dinge auseinanderhalten lernen:
a) was auf dem Server ausgeführt wird.
b) was auf dem Client ausgeführt wird.
Du kannst VB-Script
a) clientseitig, d.h. im Browser, ausführen lassen.
Nachteil dabei:
außer dem IE (und auf dem IE aufsetzende Browser) unterstützt kein Browser VB-Script. Daher ist es keine gute Idee, außerhalb von Intranet-Anwendungen clientseitiges VB-Script einzusetzen. Ich halte es auch für keine gute Idee, im Intranet clientseitiges VB-Script einzusetzen, wenn ich die gleiche Funktionalität mit J(ava)Script erreichen kann.
b) serverseitig mit der ASP-Schnittstelle
Vorteil: browserunhabhängig.
Nachteil: ASP ist tot, sein Nachfolger ist ASP.NET.
Ich persönlich würde keine Energie mehr in ASP stecken, ASP.NET mit einer der von .NET unterstützten Sprachen wie VB.NET (nicht VBS!), C# (gern auch IronPython oder IronRuby) halte ich da für das sinnvollere Lernobjekt.
<html>
<head><SCRIPT LANGUAGE="vbscript">
Document.Forms(0).Elements(0).Value = Request.ServerVariables("Url")
Hier mischst Du clientseitige Verarbeitung (links vom Gleichheitszeichen) mit serverseitiger Verarbeitung (rechts vom Gleichheitszeichen). Doch selbst wenn nach der serverseitigen Verarbeitung da etwas stände wie
<html>
<head>
<SCRIPT LANGUAGE="vbscript">
Document.Forms(0).Elements(0).Value = "http://www.example.com/path/to/ressource"
hättest Du das Problem, dass zum Zeitpunkt der Abarbeitung im Browser das Formularelement noch gar nicht existiert und diesem deswegen der Wert gar nicht zugewiesen werden kann.
Für eine serverseitige Weiterleitung mit ASP kannst Du response.redirect verwenden.
Freundliche Grüße
Vinzenz
Vielen Dank für die ausführliche Schilderung meines eigentlichen Problems.
Ich denke ich muß mich damit noch näher auseinandersetzten.
Viele Grüße