var urler = (function(element, callback) {
	return {
		getHashObj: function() {
			var args = {}; 
			var query = location.search.substring(1); 
			if(query){ 
				if(query.indexOf('=') == -1) { 
					alert('ʽ'); 
					return false; 
				}else { 
					var pairs = query.split('&'); 
					for(var i = 0; i < pairs.length; i++) { 
						var pos = pairs[i].indexOf('='); 
						if(pos == -1) continue; 
						var name = pairs[i].substring(0, pos); 
						if(!name) { 
							alert('Ϊ'); 
							return false; 
						} 
						var value = pairs[i].substring(pos + 1); 
						value = decodeURIComponent(value); 
						args[name] = value; 
					} 
				} 
			}else { 
				alert('ûв'); 
				return false; 
			} 
			return args; 
		}
	}
}());

@@ -36,16 +36,43 @@
 back) %7B%0A
+%09//%E5%AD%98%E5%82%A8%E8%B7%AF%E7%94%B1%0A%09this.routes = %7B%7D;%0A
 %09return 
@@ -73,16 +73,16 @@
 eturn %7B%0A
-
 %09%09getHas
@@ -232,9 +232,14 @@
 rt('
-%CA%BD
+%E5%8F%82%E6%95%B0%E5%BD%A2%E5%BC%8F%E9%94%99%E8%AF%AF
 '); 
@@ -508,9 +508,15 @@
 rt('
-%CE%AA
+%E5%8F%82%E6%95%B0%E5%90%8D%E4%B8%8D%E8%83%BD%E4%B8%BA%E7%A9%BA
 '); 
@@ -706,10 +706,12 @@
 rt('
-%C3%BB%D0%B2
+%E6%B2%A1%E6%9C%89%E5%8F%82%E6%95%B0
 '); 
@@ -736,16 +736,16 @@
  %0A%09%09%09%7D %0A
-
 %09%09%09retur
@@ -753,16 +753,226 @@
  args; %0A
+%09%09%7D,%0A%09%09route: function(path, callback) %7B%0A%09%09%09this.routes%5Bpath%5D = callback %7C%7C function()%7B%7D;%0A%09%09%7D,%0A%09%09refresh: function() %7B%0A%09%09%09this.currentUrl = location.hash.slice(1) %7C%7C '/';%0A    %09%09%09this.routes%5Bthis.currentUrl%5D();%0A
 %09%09%7D%0A%09%7D%0A%7D

Create urler.js