Browse Source

Fix #3425: get cookie error with %

zhixin 8 years ago
parent
commit
3e3c4f75b2
1 changed files with 4 additions and 2 deletions
  1. 4 2
      src/extensions/cookie/bootstrap-table-cookie.js

+ 4 - 2
src/extensions/cookie/bootstrap-table-cookie.js

@@ -101,7 +101,9 @@
 
 
         switch(that.options.cookieStorage) {
         switch(that.options.cookieStorage) {
             case 'cookieStorage':
             case 'cookieStorage':
-                return decodeURIComponent(document.cookie.replace(new RegExp('(?:(?:^|.*;)\\s*' + encodeURIComponent(cookieName).replace(/[\-\.\+\*]/g, '\\$&') + '\\s*\\=\\s*([^;]*).*$)|^.*$'), '$1')) || null;
+                var value = '; ' + document.cookie;
+                var parts = value.split('; ' + cookieName + '=');
+                return parts.length === 2 ? parts.pop().split(';').shift() : null;
             case 'localStorage':
             case 'localStorage':
                 return localStorage.getItem(cookieName);
                 return localStorage.getItem(cookieName);
             case 'sessionStorage':
             case 'sessionStorage':
@@ -113,7 +115,7 @@
 
 
     var deleteCookie = function (that, tableName, cookieName) {
     var deleteCookie = function (that, tableName, cookieName) {
         cookieName = tableName + '.' + cookieName;
         cookieName = tableName + '.' + cookieName;
-        
+
         switch(that.options.cookieStorage) {
         switch(that.options.cookieStorage) {
             case 'cookieStorage':
             case 'cookieStorage':
                 document.cookie = [
                 document.cookie = [