Просмотр исходного кода

improvement to query string parsing

Hakim El Hattab 11 лет назад
Родитель
Сommit
b314cf7b27
3 измененных файлов с 8 добавлено и 4 удалено
  1. 2 1
      Gruntfile.js
  2. 5 2
      js/reveal.js
  3. 1 1
      js/reveal.min.js

+ 2 - 1
Gruntfile.js

@@ -69,7 +69,8 @@ module.exports = function(grunt) {
 				globals: {
 					head: false,
 					module: false,
-					console: false
+					console: false,
+					unescape: false
 				}
 			},
 			files: [ 'Gruntfile.js', 'js/reveal.js' ]

+ 5 - 2
js/reveal.js

@@ -3300,17 +3300,20 @@ var Reveal = (function(){
 		getQueryHash: function() {
 			var query = {};
 
-			location.search.replace( /[A-Z0-9]+?=(\w*)/gi, function(a) {
+			location.search.replace( /[A-Z0-9]+?=([\w\.%-]*)/gi, function(a) {
 				query[ a.split( '=' ).shift() ] = a.split( '=' ).pop();
 			} );
 
 			// Basic deserialization
 			for( var i in query ) {
 				var value = query[ i ];
+
+				query[ i ] = unescape( value );
+
 				if( value === 'null' ) query[ i ] = null;
 				else if( value === 'true' ) query[ i ] = true;
 				else if( value === 'false' ) query[ i ] = false;
-				else if( !isNaN( parseFloat( value ) ) ) query[ i ] = parseFloat( value );
+				else if( value.match( /^\d+$/ ) ) query[ i ] = parseFloat( value );
 			}
 
 			return query;

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
js/reveal.min.js


Некоторые файлы не были показаны из-за большого количества измененных файлов