encodeURIComponent für ältere Browser
stephanbauer
- javascript
0 Cybaer
Hi,
weiss einer, ob es vielleicht irgendwo eine bereits geschriebene Funktion gibt, die die Aufgabe von encodeURIComponent() übernimmt?
(brauche mit codierung von / ? = etc.)
vielen Dank
sb
Hi,
weiss einer, ob es vielleicht irgendwo eine bereits geschriebene Funktion gibt, die die Aufgabe von encodeURIComponent() übernimmt?
(brauche mit codierung von / ? = etc.)
Ei selbstverfreilich:
function escapeAll(string) {
string=escape(string);
string=rc(string,"*","%2A");
string=rc(string,"+","%2B");
string=rc(string,"-","%2D");
string=rc(string,".","%2E");
string=rc(string,"/","%2F");
string=rc(string,"@","%40");
string=rc(string,"_","%5F");
return string;
}
Und, ach ja:
function rc(text,chars,subs,insensitive) {
if(chars) {
var i, work, result="", start=0; subs=(subs)?subs:"";
if(insensitive) {
work=text.toLowerCase();
chars=chars.toLowerCase();
} else {
work=text;
}
i=work.indexOf(chars,start);
while(i>=0) {
result+=text.substring(start,i)+subs;
start=i+chars.length;
i=work.indexOf(chars,start);
if(!i) {
break;
}
}
result+=text.substring(start,text.length);
return result;
} else {
return text;
}
}
Jetzt läuft's ab JavaScript 1.0 ... 8-)
Gruß, Cybaer