Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Где взять годный объект параметров урла (https://javascript.ru/forum/events/55782-gde-vzyat-godnyjj-obekt-parametrov-urla.html)

kostyanet 17.05.2015 17:28

Я же писал что если вы такой умный, то склейте. Вы оказались не умный. Почитайте ахинею чтоб поумнеть.

kostyanet 17.05.2015 17:33

Да, пример выше глюкавый по некоторым причинам, ниже проверенный в работе

var Get=(function(){
	var qd = {}, qs={};
	for(var s=location.search.substr(1).split('&'),i=0;item=s[i];i++)
		qd[item.split('=')[0]]=decodeURIComponent(item.split('=')[1]);
	return {
		set:function(k,v){
			qs[k]=v;
			return this;
		},
		get:function(k){
			return (k in qd)?qd[k]:null;
		},
		toString:function(){
			var k,res=[];
			for(k in qs)
				qd[k]=qs[k];
			for(k in qd)
				if(qd[k]!==null)
					res.push(k+'='+encodeURIComponent(qd[k]));
			return res.join('&');
		},
		ass:function(){
			location.search=this.toString();
		},
		rm:function(){
			qs={};
		},
		qd:qd
	};
})();


ass это сокр от assign, а rm - сокр от remove

Следующий вопрос - как делаются геттеры и сеттеры у таких объектов? У меня даже toString() походу не фурычит, хоть это и не актуально в js, а вот геттер-сеттер было бы полезно, если, конечно, там не туча кода.

kostyanet 17.05.2015 17:56

Ага, понятно, computed prop name кроме ФФ никто не суппортед https://developer.mozilla.org/en-US/.../Functions/get


Часовой пояс GMT +3, время: 00:18.