WMLScript: URL-Bibliothek
von Michael Stöckel
Diese Bibliothek stellt einige Funktionen zur Analyse von URL's zur Verfügung.
Diese Funktion überprüft die Schreibweise einer URL auf Gültigkeit. Es wird nicht geprüft, ob die URL auch wirklich erreichbar ist. Wenn ein Fehler vorliegt, gibt die Funktion false" zurück, ansonsten "true". Bei allen Beispielen würde die Funktion true" zurückgeben. Beispiel:
var addr = URL.isValID("http://www.google.de");
var addr = URL.isValID("./pfad/to/wml/test.wml");
var addr = URL.isValID("test.wmls#funktion()");
Damit wird das Übertragungsprotokoll der URL ermittelt, falls eines angegeben ist. Ist das nicht der Fall, ist der Rückgabewert der Funktion leer. Wenn ein Fehler vorliegt, wird als Rückgabewert "invalid" ausgegeben. Beispiel:
var scheme = URL.getScheme("http://www.google.de");
// Rückgabewert: http
var scheme = URL.getScheme("./pfad/to/wml/test.wml");
// Rückgabewert: leer
Damit wird der Host-Teil einer URL ausgegeben, falls er definiert ist. Wenn das nicht der Fall ist, wird ein Leerstring zurückgegeben. Beispiel:
var host = URL.getHost("http://www.google.de");
// Rückgabewert: www.google.de
var host = URL.getHost("./pfad/to/wml/test.wml");
// Rückgabewert: leer
Damit wird der Port einer URL ausgegeben, falls er mit angegeben ist. Wenn das nicht der Fall ist, wird ein Leerstring zurückgegeben. Beispiel:
var host = URL.getPort("http://www.google.de:80");
// Rückgabewert: 80
var host = URL.getHost("http://www.google.de");
// Rückgabewert: leer
Liefert die in der URL enthaltenen Parameter. Beispiel:
var param = URL.getParameters("http://www.google.de;p1;p2");
//Der Inhalt von param ist "p1;p2".
Liefert den in der URL enthaltenen Query. Beispiel:
var param = URL.getParameters("./testscript.php?p1=5&p2=7");
// Der Inhalt von param ist "p1=5&p2=7".
Liefert das in er URL enthaltene Fragment (alles nach dem #). Beispiel:
var param = URL.getFragment("test.wmls#funktion()");
//Der Inhalt von param ist " funktion()".
Damit wird grundsätzlich die absolute URL einer wml-Datei ausgegeben. Diese Funktion benötigt keine Parameter. Der Inhalt von URL kann zum Beispiel "http://www.google.de/wml/test.wml" sein. Beispiel:
var URL = URL.getBase();
Damit wird grundsätzlich die relative URL einer wml-Datei ausgegeben. Diese Funktion benötigt keine Parameter, da sie sich automatisch auf die URL bezieht, von der die wmls-Datei aufgerufen wurde. Eine Beispielausgabe dieser Funktion ist "../test.wml". Beispiel:
var URL = URL.getReferer();
Mit dieser Funktion können einzelne Teile einer URL erweitert bzw. ersetzt werden. Beispiel:
var resolve1 = URL.resolve("http://www.google.de","test.wml")
var resolve2 = URL.resolve("http://www.google.de/start.wml",
"test.wml");
// Der Inhalt von resolve1 und resolve2 ist
// jeweils "http://www.google.de/test.wml".
Damit werden Sonderzeichen in einer URL in einzelne Escape-Strings umgewandelt. Beispiel:
var replace = URL.escapeString("/pfad/to/script/test.php?p=1");
// Der Inhalt von replace ist hier:
// %2pfad%2to%2script%2test.php%3Fp%3D1.
Diese Funktion ist das Gegenteil von escapeString. Damit wird eine URL mit Escape-Strings in eine "normale" URL umgewandelt. Beispiel:
var replace = URL.escapeString("%2pfad%2to%2script%2test.php%3Fp%3D1");
// Der Inhalt von replace ist hier:
// "/pfad/to/script/test.php?p=1".
In Abhängigkeit des angegebenen Content-Types kann mit dieser Funktion u.a. der Inhalt einer wml-Datei angegeben werden. Die Funktion arbeitet auch z.B. bei html-Dateien. Dabei handelt es sich um den Quelltext, nicht um die Inhalte, die man im Browserfenster sehen würde. Der Content-Type muß immer mit dem Ausdruck "text/" beginnen und es muß immer eine absolute URL angegeben werden. Bei einer html-Datei ist der Content-Type "text/html". Der Inhalt der Variablen anzeige im Beispiel entspricht dem Quelltext der Datei test.wml. Beispiel:
var anzeige = URL.loadString("http://www.google.de/test.wml",
"text/vnd.wap.wml");