webshims-rails 1.11.6.1 → 1.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/polyfiller.js +126 -72
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/canvas2png.js +9 -4
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +32 -26
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/proxy.php +25 -4
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/save.php +9 -3
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/canvas2png.js +9 -4
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash10canvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash9canvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +36 -30
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/proxy.php +25 -4
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/save.php +9 -3
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +13 -6
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +156 -143
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +97 -84
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +2 -4
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +956 -2819
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +73 -67
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +75 -71
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +118 -89
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +119 -91
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +62 -65
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +73 -67
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +61 -63
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +3 -6
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +22 -12
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +63 -67
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +59 -59
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +1915 -0
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +817 -0
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +71 -63
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +72 -65
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +71 -63
- data/vendor/assets/javascripts/webshims/shims/combos/32.js +2343 -0
- data/vendor/assets/javascripts/webshims/shims/combos/33.js +897 -0
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +59 -59
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +119 -91
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +120 -93
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +74 -69
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +73 -67
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +157 -145
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +58 -57
- data/vendor/assets/javascripts/webshims/shims/form-combat.js +0 -1
- data/vendor/assets/javascripts/webshims/shims/form-core.js +12 -3
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +4 -3
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +20 -3
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +78 -71
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +21 -10
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +39 -27
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +173 -128
- data/vendor/assets/javascripts/webshims/shims/i18n/{formcfg-ch-ZN.js → formcfg-ch-CN.js} +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +0 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-CN.js +65 -0
- data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +18 -11
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +221 -153
- data/vendor/assets/javascripts/webshims/shims/styles/progress.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/progress.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +5 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +273 -177
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +113 -98
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +114 -88
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +2 -2
- metadata +10 -7
- data/vendor/assets/javascripts/webshims/extras/mousepress.js +0 -60
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/Thumbs.db +0 -0
- data/vendor/assets/javascripts/webshims/shims/json-storage.js +0 -316
- data/vendor/assets/javascripts/webshims/shims/mediagroup.js +0 -29
@@ -27,10 +27,10 @@
|
|
27
27
|
}
|
28
28
|
};
|
29
29
|
if(!trackOptions.override){
|
30
|
-
detectTrackError
|
30
|
+
$(detectTrackError);
|
31
31
|
}
|
32
32
|
}
|
33
|
-
})(webshims.$)
|
33
|
+
})(webshims.$);
|
34
34
|
webshims.register('track-ui', function($, webshims, window, document, undefined){
|
35
35
|
"use strict";
|
36
36
|
var options = webshims.cfg.track;
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webshims-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Reese
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -41,7 +41,6 @@ files:
|
|
41
41
|
- lib/webshims-rails/version.rb
|
42
42
|
- readme.textile
|
43
43
|
- vendor/assets/javascripts/webshims/extras/modernizr-custom.js
|
44
|
-
- vendor/assets/javascripts/webshims/extras/mousepress.js
|
45
44
|
- vendor/assets/javascripts/webshims/polyfiller.js
|
46
45
|
- vendor/assets/javascripts/webshims/shims/$ajax.js
|
47
46
|
- vendor/assets/javascripts/webshims/shims/FlashCanvas/canvas2png.js
|
@@ -76,9 +75,13 @@ files:
|
|
76
75
|
- vendor/assets/javascripts/webshims/shims/combos/25.js
|
77
76
|
- vendor/assets/javascripts/webshims/shims/combos/26.js
|
78
77
|
- vendor/assets/javascripts/webshims/shims/combos/27.js
|
78
|
+
- vendor/assets/javascripts/webshims/shims/combos/28.js
|
79
|
+
- vendor/assets/javascripts/webshims/shims/combos/29.js
|
79
80
|
- vendor/assets/javascripts/webshims/shims/combos/3.js
|
80
81
|
- vendor/assets/javascripts/webshims/shims/combos/30.js
|
81
82
|
- vendor/assets/javascripts/webshims/shims/combos/31.js
|
83
|
+
- vendor/assets/javascripts/webshims/shims/combos/32.js
|
84
|
+
- vendor/assets/javascripts/webshims/shims/combos/33.js
|
82
85
|
- vendor/assets/javascripts/webshims/shims/combos/4.js
|
83
86
|
- vendor/assets/javascripts/webshims/shims/combos/5.js
|
84
87
|
- vendor/assets/javascripts/webshims/shims/combos/6.js
|
@@ -105,7 +108,7 @@ files:
|
|
105
108
|
- vendor/assets/javascripts/webshims/shims/forms-picker.js
|
106
109
|
- vendor/assets/javascripts/webshims/shims/geolocation.js
|
107
110
|
- vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js
|
108
|
-
- vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-
|
111
|
+
- vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-CN.js
|
109
112
|
- vendor/assets/javascripts/webshims/shims/i18n/formcfg-cs.js
|
110
113
|
- vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.js
|
111
114
|
- vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js
|
@@ -125,13 +128,13 @@ files:
|
|
125
128
|
- vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt.js
|
126
129
|
- vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js
|
127
130
|
- vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js
|
131
|
+
- vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-CN.js
|
128
132
|
- vendor/assets/javascripts/webshims/shims/jpicker/ChangeLog.txt
|
129
133
|
- vendor/assets/javascripts/webshims/shims/jpicker/ReadMe.txt
|
130
134
|
- vendor/assets/javascripts/webshims/shims/jpicker/images/AlphaBar.png
|
131
135
|
- vendor/assets/javascripts/webshims/shims/jpicker/images/Bars.png
|
132
136
|
- vendor/assets/javascripts/webshims/shims/jpicker/images/Maps.png
|
133
137
|
- vendor/assets/javascripts/webshims/shims/jpicker/images/NoColor.png
|
134
|
-
- vendor/assets/javascripts/webshims/shims/jpicker/images/Thumbs.db
|
135
138
|
- vendor/assets/javascripts/webshims/shims/jpicker/images/bar-opacity.png
|
136
139
|
- vendor/assets/javascripts/webshims/shims/jpicker/images/map-opacity.png
|
137
140
|
- vendor/assets/javascripts/webshims/shims/jpicker/images/mappoint.gif
|
@@ -139,12 +142,10 @@ files:
|
|
139
142
|
- vendor/assets/javascripts/webshims/shims/jpicker/images/preview-opacity.png
|
140
143
|
- vendor/assets/javascripts/webshims/shims/jpicker/images/rangearrows.gif
|
141
144
|
- vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css
|
142
|
-
- vendor/assets/javascripts/webshims/shims/json-storage.js
|
143
145
|
- vendor/assets/javascripts/webshims/shims/mediaelement-core.js
|
144
146
|
- vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js
|
145
147
|
- vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js
|
146
148
|
- vendor/assets/javascripts/webshims/shims/mediaelement-yt.js
|
147
|
-
- vendor/assets/javascripts/webshims/shims/mediagroup.js
|
148
149
|
- vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js
|
149
150
|
- vendor/assets/javascripts/webshims/shims/range-ui.js
|
150
151
|
- vendor/assets/javascripts/webshims/shims/sizzle.js
|
@@ -153,6 +154,8 @@ files:
|
|
153
154
|
- vendor/assets/javascripts/webshims/shims/styles/forms-ext.css
|
154
155
|
- vendor/assets/javascripts/webshims/shims/styles/forms.png
|
155
156
|
- vendor/assets/javascripts/webshims/shims/styles/polyfill-loader.gif
|
157
|
+
- vendor/assets/javascripts/webshims/shims/styles/progress.gif
|
158
|
+
- vendor/assets/javascripts/webshims/shims/styles/progress.png
|
156
159
|
- vendor/assets/javascripts/webshims/shims/styles/range-track.png
|
157
160
|
- vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss
|
158
161
|
- vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss
|
@@ -1,60 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* simple helper for a mousepress event
|
3
|
-
* used by webshims improving spinbutton controls for input[type=time], input[type=number]...
|
4
|
-
*
|
5
|
-
* $(element).on('mousepress', function(){
|
6
|
-
* //repeatedly called after mousedown, till mouseleave/mouseup
|
7
|
-
* });
|
8
|
-
*/
|
9
|
-
(function($){
|
10
|
-
var removeTimer = function(elem, full){
|
11
|
-
var timer = elem.data('mousepresstimer');
|
12
|
-
if(timer){
|
13
|
-
clearTimeout(timer);
|
14
|
-
}
|
15
|
-
if(full){
|
16
|
-
elem.off('mouseup.mousepressext mouseleave.mousepressext');
|
17
|
-
}
|
18
|
-
elem = null;
|
19
|
-
};
|
20
|
-
$.event.special.mousepress = {
|
21
|
-
setup: function(){
|
22
|
-
var timer;
|
23
|
-
$(this).on('mousedown.mousepressext', function(e){
|
24
|
-
var elem = $(this);
|
25
|
-
|
26
|
-
var startIntervall = function(delay){
|
27
|
-
var steps = 0;
|
28
|
-
removeTimer(elem);
|
29
|
-
elem.data('mousepresstimer', setInterval(function(){
|
30
|
-
$.event.special.mousepress.handler(elem[0], e);
|
31
|
-
steps++;
|
32
|
-
if(steps > 3 && delay > 45){
|
33
|
-
startIntervall(delay - 40);
|
34
|
-
}
|
35
|
-
}, delay));
|
36
|
-
};
|
37
|
-
var target = $(e.target).trigger('mousepressstart', [e]);
|
38
|
-
|
39
|
-
removeTimer(elem);
|
40
|
-
elem.data('mousepresstimer', setTimeout(function(){
|
41
|
-
startIntervall(180);
|
42
|
-
}, 200));
|
43
|
-
|
44
|
-
elem.on('mouseup.mousepressext mouseleave.mousepressext', function(e){
|
45
|
-
removeTimer(elem, true);
|
46
|
-
target.trigger('mousepressend', [e]);
|
47
|
-
elem = null;
|
48
|
-
target = null;
|
49
|
-
});
|
50
|
-
});
|
51
|
-
},
|
52
|
-
teardown: function(){
|
53
|
-
removeTimer($(this).off('.mousepressext'), true);
|
54
|
-
},
|
55
|
-
handler: function(elem, e){
|
56
|
-
return $.event.dispatch.call(elem, {type: 'mousepress', target: e.target, pageX: e.pageX, pageY: e.pageY});
|
57
|
-
}
|
58
|
-
};
|
59
|
-
|
60
|
-
})(jQuery);
|
Binary file
|
@@ -1,316 +0,0 @@
|
|
1
|
-
|
2
|
-
//JSON
|
3
|
-
(function(){
|
4
|
-
if('JSON'in window && JSON.stringify && JSON.parse){return;}
|
5
|
-
|
6
|
-
if(!this.JSON){this.JSON={};}(function(){function f(n){return n<10?'0'+n:n;}if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+'-'+f(this.getUTCMonth()+1)+'-'+f(this.getUTCDate())+'T'+f(this.getUTCHours())+':'+f(this.getUTCMinutes())+':'+f(this.getUTCSeconds())+'Z':null;};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}if(typeof rep==='function'){value=rep.call(holder,key,value);}switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}v=partial.length===0?'[]':gap?'[\n'+gap+partial.join(',\n'+gap)+'\n'+mind+']':'['+partial.join(',')+']';gap=mind;return v;}if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}return str('',{'':value});};}if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}return reviver.call(holder,key,value);}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}throw new SyntaxError('JSON.parse');};}}());
|
7
|
-
|
8
|
-
})();
|
9
|
-
|
10
|
-
//modified version from http://gist.github.com/350433
|
11
|
-
//using window.name for sessionStorage and cookies for localStorage
|
12
|
-
|
13
|
-
(function () {
|
14
|
-
var $ = webshims.$ || jQuery;
|
15
|
-
webshims.error("The json-storage is depreacated. IE8+ supports this feature. No one should need a polyfill anymore!");
|
16
|
-
|
17
|
-
if ('localStorage' in window && 'sessionStorage' in window) {
|
18
|
-
$.webshims.isReady('json-storage', true);
|
19
|
-
return;
|
20
|
-
}
|
21
|
-
|
22
|
-
|
23
|
-
var storageNameError = function(name){
|
24
|
-
if(name && name.indexOf && name.indexOf(';') != -1){
|
25
|
-
setTimeout(function(){
|
26
|
-
$.webshims.warn("Bad key for localStorage: ; in localStorage. name was: "+ name);
|
27
|
-
}, 0);
|
28
|
-
}
|
29
|
-
};
|
30
|
-
var winData;
|
31
|
-
var selfWindow = false;
|
32
|
-
$.each(['opener', 'top', 'parent'], function(i, name){
|
33
|
-
try {
|
34
|
-
winData = window[name];
|
35
|
-
if(winData && 'name' in winData){
|
36
|
-
var test = winData.name;
|
37
|
-
return false;
|
38
|
-
} else {
|
39
|
-
winData = false;
|
40
|
-
}
|
41
|
-
} catch(e){
|
42
|
-
winData = false;
|
43
|
-
}
|
44
|
-
});
|
45
|
-
if(!winData){
|
46
|
-
winData = window;
|
47
|
-
selfWindow = true;
|
48
|
-
}
|
49
|
-
var setWindowData = function(data){
|
50
|
-
if(!selfWindow){
|
51
|
-
try {
|
52
|
-
window.name = data;
|
53
|
-
} catch(e){}
|
54
|
-
}
|
55
|
-
try {
|
56
|
-
winData.name = data;
|
57
|
-
} catch(e){
|
58
|
-
winData = window;
|
59
|
-
selfWindow = true;
|
60
|
-
}
|
61
|
-
};
|
62
|
-
var getWindowData = function(){
|
63
|
-
var data;
|
64
|
-
if(!selfWindow){
|
65
|
-
try {
|
66
|
-
data = window.name;
|
67
|
-
} catch(e){}
|
68
|
-
}
|
69
|
-
if(!data){
|
70
|
-
try {
|
71
|
-
data = winData.name;
|
72
|
-
} catch(e){
|
73
|
-
winData = window;
|
74
|
-
selfWindow = true;
|
75
|
-
}
|
76
|
-
}
|
77
|
-
return data;
|
78
|
-
};
|
79
|
-
var Storage = function (type) {
|
80
|
-
function createCookie(name, value, days) {
|
81
|
-
var date, expires;
|
82
|
-
|
83
|
-
if (days) {
|
84
|
-
date = new Date();
|
85
|
-
date.setTime(date.getTime()+(days*24*60*60*1000));
|
86
|
-
expires = "; expires="+date.toGMTString();
|
87
|
-
} else {
|
88
|
-
expires = "";
|
89
|
-
}
|
90
|
-
document.cookie = name+"="+value+expires+"; path=/";
|
91
|
-
}
|
92
|
-
|
93
|
-
function readCookie(name) {
|
94
|
-
var nameEQ = name + "=",
|
95
|
-
ca = document.cookie.split(';'),
|
96
|
-
i, c;
|
97
|
-
|
98
|
-
for (i=0; i < ca.length; i++) {
|
99
|
-
c = ca[i];
|
100
|
-
while (c.charAt(0)==' ') {
|
101
|
-
c = c.substring(1,c.length);
|
102
|
-
}
|
103
|
-
|
104
|
-
if (c.indexOf(nameEQ) === 0) {
|
105
|
-
return c.substring(nameEQ.length,c.length);
|
106
|
-
}
|
107
|
-
}
|
108
|
-
return null;
|
109
|
-
}
|
110
|
-
|
111
|
-
function setData(data) {
|
112
|
-
data = JSON.stringify(data);
|
113
|
-
if (type == 'session') {
|
114
|
-
setWindowData(data);
|
115
|
-
} else {
|
116
|
-
createCookie('localStorage', data, 365);
|
117
|
-
}
|
118
|
-
}
|
119
|
-
|
120
|
-
function clearData() {
|
121
|
-
if (type == 'session') {
|
122
|
-
setWindowData('');
|
123
|
-
} else {
|
124
|
-
createCookie('localStorage', '', 365);
|
125
|
-
}
|
126
|
-
}
|
127
|
-
|
128
|
-
function getData() {
|
129
|
-
var data;
|
130
|
-
if(type == 'session'){
|
131
|
-
data = getWindowData();
|
132
|
-
} else {
|
133
|
-
data = readCookie('localStorage');
|
134
|
-
}
|
135
|
-
if(data){
|
136
|
-
try {
|
137
|
-
data = JSON.parse(data);
|
138
|
-
} catch(e){
|
139
|
-
data = {};
|
140
|
-
}
|
141
|
-
}
|
142
|
-
return data || {};
|
143
|
-
}
|
144
|
-
|
145
|
-
|
146
|
-
// initialise if there's already data
|
147
|
-
var data = getData();
|
148
|
-
|
149
|
-
return {
|
150
|
-
clear: function () {
|
151
|
-
data = {};
|
152
|
-
clearData();
|
153
|
-
},
|
154
|
-
getItem: function (key) {
|
155
|
-
return (key in data) ? data[key] : null;
|
156
|
-
},
|
157
|
-
key: function (i) {
|
158
|
-
// not perfect, but works
|
159
|
-
var ctr = 0;
|
160
|
-
for (var k in data) {
|
161
|
-
if (ctr == i) {
|
162
|
-
return k;
|
163
|
-
} else {
|
164
|
-
ctr++;
|
165
|
-
}
|
166
|
-
}
|
167
|
-
return null;
|
168
|
-
},
|
169
|
-
removeItem: function (key) {
|
170
|
-
delete data[key];
|
171
|
-
setData(data);
|
172
|
-
},
|
173
|
-
setItem: function (key, value) {
|
174
|
-
storageNameError(key);
|
175
|
-
data[key] = value+''; // forces the value to a string
|
176
|
-
setData(data);
|
177
|
-
}
|
178
|
-
};
|
179
|
-
};
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
if (!('sessionStorage' in window)) {window.sessionStorage = new Storage('session');}
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
(function(){
|
188
|
-
var swfTimer;
|
189
|
-
var emptyString = '(empty string)+1287520303738';
|
190
|
-
var runStart;
|
191
|
-
var shim;
|
192
|
-
var localStorageSwfCallback = function(type){
|
193
|
-
clearTimeout(swfTimer);
|
194
|
-
var getType;
|
195
|
-
if(window.localStorage && (type != 'swf' || (shim && shim.key))){
|
196
|
-
$.webshims.isReady('json-storage', true);
|
197
|
-
return;
|
198
|
-
}
|
199
|
-
|
200
|
-
|
201
|
-
if(type === 'swf'){
|
202
|
-
shim = document.getElementById('swflocalstorageshim');
|
203
|
-
getType = shim ? typeof(shim.GetVariable) : 'undefined';
|
204
|
-
|
205
|
-
//brute force flash getter
|
206
|
-
if( getType == 'undefined' ){
|
207
|
-
shim = document.swflocalstorageshim;
|
208
|
-
getType = shim ? typeof(shim.GetVariable) : 'undefined';
|
209
|
-
if( getType == 'undefined' ){
|
210
|
-
shim = window.localstorageshim;
|
211
|
-
getType = shim ? typeof(shim.GetVariable) : 'undefined';
|
212
|
-
}
|
213
|
-
}
|
214
|
-
|
215
|
-
if(getType != 'undefined'){
|
216
|
-
window.localStorage = {};
|
217
|
-
|
218
|
-
window.localStorage.clear = function(){
|
219
|
-
if(shim.clear){shim.clear();}
|
220
|
-
};
|
221
|
-
window.localStorage.key = function(i){
|
222
|
-
if(shim.key){shim.key(i);}
|
223
|
-
};
|
224
|
-
window.localStorage.removeItem = function(name){
|
225
|
-
if(shim.removeItem){shim.removeItem(name);}
|
226
|
-
};
|
227
|
-
|
228
|
-
window.localStorage.setItem = function(name, val){
|
229
|
-
storageNameError(name);
|
230
|
-
val += '';
|
231
|
-
if(!val){
|
232
|
-
val = emptyString;
|
233
|
-
}
|
234
|
-
if(shim.setItem){
|
235
|
-
shim.setItem(name, val);
|
236
|
-
}
|
237
|
-
};
|
238
|
-
window.localStorage.getItem = function(name){
|
239
|
-
if(!shim.getItem){
|
240
|
-
return null;
|
241
|
-
}
|
242
|
-
var val = shim.getItem(name, val);
|
243
|
-
if(val == emptyString){
|
244
|
-
val = '';
|
245
|
-
}
|
246
|
-
return val;
|
247
|
-
};
|
248
|
-
$.webshims.log('flash-localStorage was implemented');
|
249
|
-
}
|
250
|
-
}
|
251
|
-
if(!('localStorage' in window)){
|
252
|
-
window.localStorage = new Storage('local');
|
253
|
-
$.webshims.warn('implement cookie-localStorage');
|
254
|
-
}
|
255
|
-
$.webshims.isReady('json-storage', true);
|
256
|
-
};
|
257
|
-
var storageCFG = $.webshims.cfg['json-storage'];
|
258
|
-
webshims.swfLocalStorage = {
|
259
|
-
show: function(){
|
260
|
-
if(storageCFG.exceededMessage){
|
261
|
-
$('#swflocalstorageshim-wrapper').prepend('<div class="polyfill-exceeded-message">'+ storageCFG.exceededMessage +'</div>');
|
262
|
-
}
|
263
|
-
$('#swflocalstorageshim-wrapper').css({
|
264
|
-
top: $(window).scrollTop() + 20,
|
265
|
-
left: ($(window).width() / 2) - ($('#swflocalstorageshim-wrapper').outerWidth() / 2)
|
266
|
-
});
|
267
|
-
|
268
|
-
},
|
269
|
-
hide: function(success){
|
270
|
-
$('#swflocalstorageshim-wrapper')
|
271
|
-
.css({top: '', left: ''})
|
272
|
-
.find('div.polyfill-exceeded-message')
|
273
|
-
.remove()
|
274
|
-
;
|
275
|
-
if(!success){
|
276
|
-
var err = new Error('DOMException: QUOTA_EXCEEDED_ERR');
|
277
|
-
err.code = 22;
|
278
|
-
err.name = 'DOMException';
|
279
|
-
throw(err);
|
280
|
-
}
|
281
|
-
},
|
282
|
-
isReady: localStorageSwfCallback
|
283
|
-
};
|
284
|
-
|
285
|
-
// $.webshims.swfLocalStorage.storageEvent = function(newVal, oldVal, url){
|
286
|
-
//
|
287
|
-
// };
|
288
|
-
|
289
|
-
webshims.ready('DOM swfmini', function(){
|
290
|
-
|
291
|
-
var swfmini = window.swfmini;
|
292
|
-
if(runStart || (('localStorage' in window) && document.getElementById('swflocalstorageshim')) ){return;}
|
293
|
-
runStart = true;
|
294
|
-
if(swfmini && swfmini.hasFlashPlayerVersion('8.0.0')){
|
295
|
-
$('body').append('<div id="swflocalstorageshim-wrapper"><div id="swflocalstorageshim" /></div>');
|
296
|
-
swfmini.embedSWF(webshims.cfg.basePath +'swf/localStorage.swf' +(webshims.cfg.addCacheBuster || ''), 'swflocalstorageshim', '295', '198', '8.0.0', null, {allowscriptaccess: 'always'}, {name: 'swflocalstorageshim'}, function(e){
|
297
|
-
if(!e.success && !window.localStorage){
|
298
|
-
localStorageSwfCallback();
|
299
|
-
}
|
300
|
-
});
|
301
|
-
clearTimeout(swfTimer);
|
302
|
-
swfTimer = setTimeout(function(){
|
303
|
-
if(!('localStorage' in window)){
|
304
|
-
webshims.warn('Add your development-directory to the local-trusted security sandbox: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html');
|
305
|
-
}
|
306
|
-
localStorageSwfCallback();
|
307
|
-
}, (location.protocol.indexOf('file') === 0) ? 500 : 9999);
|
308
|
-
} else {
|
309
|
-
localStorageSwfCallback();
|
310
|
-
}
|
311
|
-
});
|
312
|
-
})();
|
313
|
-
|
314
|
-
|
315
|
-
})();
|
316
|
-
|