Ich mache gerne solche Dinge:
1 | Object.defineProperty(Location.prototype, "get", {
|
2 | get(){
|
3 | var result = {};
|
4 | Object.setPrototypeOf(result, null);
|
5 | this.search.substr(1).split('&').map(x=>{
|
6 | var r = x.match(/^([^=]*)(=(.*))?$/);
|
7 | return [r[1], r[3]].map(x=>x!==undefined?decodeURIComponent(x):null);
|
8 | }).reduce( (o,[k,v]) => (o[k]=v,o), result );
|
9 | Object.seal(result);
|
10 | Object.freeze(result);
|
11 | return result;
|
12 | },
|
13 | configurable: false,
|
14 | enuimerable: true
|
15 | });
|
Danach kann man folgendes tun:
1 | alert(location.get.question);
|
Das behandelt zwar Parameter wie z.B. "?a[]=1&a[]=2" noch nicht, ist
aber trotzdem ganz Praktisch.
Welche Templateingsprache ist das {% %} zeug eigentlich? Dir Client Side
JavaScript wird die bei Serverseitigen Templateengines nicht
weiterhelfen.