webshims-rails 1.10.3 → 1.10.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/polyfiller.js +96 -73
- data/vendor/assets/javascripts/webshims/shims/color-picker.js +2415 -0
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +248 -745
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +771 -1206
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +679 -1201
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +46 -65
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +45 -64
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +94 -7
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +557 -1189
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +598 -1249
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +697 -1208
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +697 -1208
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +145 -78
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +472 -1280
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +144 -77
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +14 -15
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +45 -64
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +848 -0
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +4373 -0
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +1516 -0
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +884 -0
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +2067 -0
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +1156 -0
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +313 -700
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +1868 -0
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +1663 -0
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +111 -20
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +747 -1321
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +837 -1809
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +435 -1239
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +360 -766
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +843 -1676
- data/vendor/assets/javascripts/webshims/shims/details.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +90 -3
- data/vendor/assets/javascripts/webshims/shims/filereader.js +386 -0
- data/vendor/assets/javascripts/webshims/shims/form-core.js +201 -680
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +418 -0
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +69 -467
- data/vendor/assets/javascripts/webshims/shims/form-message.js +21 -17
- data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +19 -82
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +17 -6
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +570 -1185
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +181 -28
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +599 -0
- data/vendor/assets/javascripts/webshims/{extras/custom-validity.js → shims/form-validators.js} +33 -38
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +865 -0
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.txt +37 -34
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.txt +88 -48
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +74 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/ChangeLog.txt +121 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/ReadMe.txt +47 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/AlphaBar.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/Bars.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/Maps.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/NoColor.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/Thumbs.db +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/bar-opacity.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/map-opacity.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/mappoint.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/picker.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/preview-opacity.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/rangearrows.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +257 -0
- data/vendor/assets/javascripts/webshims/shims/json-storage.js +4 -4
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +44 -63
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +10 -11
- data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +5 -3
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +110 -17
- data/vendor/assets/javascripts/webshims/shims/styles/forms.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/range-track.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +104 -21
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +90 -16
- data/vendor/assets/javascripts/webshims/shims/styles/vertical-range.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/swf/filereader.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/swfmini.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +35 -3
- data/vendor/assets/javascripts/webshims/shims/track.js +1 -1
- metadata +33 -3
@@ -0,0 +1,47 @@
|
|
1
|
+
jPicker 1.1.6
|
2
|
+
|
3
|
+
jQuery Plugin for Photoshop style color picker
|
4
|
+
|
5
|
+
Copyright (c) 2010 Christopher T. Tillman
|
6
|
+
Digital Magic Productions, Inc. (http://www.digitalmagicpro.com/)
|
7
|
+
MIT style license, FREE to use, alter, copy, sell, and especially ENHANCE
|
8
|
+
|
9
|
+
Painstakingly ported from John Dyers' excellent work on his own color picker based on the Prototype framework.
|
10
|
+
|
11
|
+
John Dyers' website: (http://johndyer.name)
|
12
|
+
Color Picker page: (http://johndyer.name/post/2007/09/PhotoShop-like-JavaScript-Color-Picker.aspx)
|
13
|
+
|
14
|
+
|
15
|
+
jPicker is a fast, lightweight jQuery plugin for including an advanced color picker in your web projects.
|
16
|
+
It has been painstakenly ported from John Dyers' awesome work on his picker using the Prototype framework.
|
17
|
+
|
18
|
+
jPicker supports all current browsers and has been extensively tested in Chrome, Firefox, IE5.5+, Safari,
|
19
|
+
and Opera.
|
20
|
+
|
21
|
+
If you are updating a current version, you MUST always use the CSS and image files from the download as
|
22
|
+
there may have been changes.
|
23
|
+
|
24
|
+
If you are moving from a V1.0.* version, you MUST read the docs below to implement some changes to the
|
25
|
+
Color object returned by the callback functions.
|
26
|
+
|
27
|
+
|
28
|
+
Known Issues
|
29
|
+
______________
|
30
|
+
Attaching multiple jPicker objects on a single page will slow performance.
|
31
|
+
jPicker creates a new instance of the picker for every element. Performance will suffer when binding dozens of instances.
|
32
|
+
|
33
|
+
|
34
|
+
Coming Soon
|
35
|
+
______________
|
36
|
+
|
37
|
+
Will consider supporting jQuery ThemeRoller CSS API for theming the UI if demand exists.
|
38
|
+
|
39
|
+
Planned For Future Release
|
40
|
+
______________
|
41
|
+
|
42
|
+
Move the jPicker object to a single instance that all selection instances point to.
|
43
|
+
- This will result in much faster operation and initialization for pages with multiple pickers.
|
44
|
+
|
45
|
+
Add activateCallback option for calling a callback function when the jPicker is activated or its binding is switched to a different picker element.
|
46
|
+
|
47
|
+
Add multiple window modes for picker operation, include modal, popup, windowed, and exclusive.
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,257 @@
|
|
1
|
+
.jPicker .Icon {
|
2
|
+
display: inline-block;
|
3
|
+
height: 24px; /* change this value if using a different sized color picker icon */
|
4
|
+
position: relative; /* make this element an absolute positioning container */
|
5
|
+
text-align: left; /* make the zero width children position to the left of container */
|
6
|
+
width: 25px; /* change this value if using a different sized color picker icon */
|
7
|
+
}
|
8
|
+
.jPicker .Icon span.Color, .jPicker .Icon span.Alpha {
|
9
|
+
background-position: 2px 2px;
|
10
|
+
display: block;
|
11
|
+
height: 100%;
|
12
|
+
left: 0px;
|
13
|
+
position: absolute;
|
14
|
+
top: 0px;
|
15
|
+
width: 100%;
|
16
|
+
}
|
17
|
+
.jPicker .Icon span.Image {
|
18
|
+
background-repeat: no-repeat;
|
19
|
+
cursor: pointer;
|
20
|
+
display: block;
|
21
|
+
height: 100%;
|
22
|
+
left: 0px;
|
23
|
+
position: absolute;
|
24
|
+
top: 0px;
|
25
|
+
width: 100%;
|
26
|
+
}
|
27
|
+
.jPicker.Container {
|
28
|
+
color: #000;
|
29
|
+
z-index: 10;
|
30
|
+
}
|
31
|
+
table.jPicker {
|
32
|
+
font-family: Arial, Helvetica, Sans-Serif;
|
33
|
+
font-size: 12px !important;
|
34
|
+
margin: 0px;
|
35
|
+
padding: 0;
|
36
|
+
width: 545px;
|
37
|
+
z-index: 20;
|
38
|
+
}
|
39
|
+
.jPicker hr {
|
40
|
+
margin: 7px 0;
|
41
|
+
}
|
42
|
+
.jPicker .Move {
|
43
|
+
background-color: #dddddd;
|
44
|
+
border-color: #fff #666 #666 #fff;
|
45
|
+
border-style: solid;
|
46
|
+
border-width: 1px;
|
47
|
+
cursor: move;
|
48
|
+
height: 12px;
|
49
|
+
padding: 0px;
|
50
|
+
}
|
51
|
+
.jPicker .Title {
|
52
|
+
display: none;
|
53
|
+
}
|
54
|
+
.jPicker div.Map {
|
55
|
+
border-bottom: 2px solid #fff;
|
56
|
+
border-left: 2px solid #9a9a9a;
|
57
|
+
border-right: 2px solid #fff;
|
58
|
+
border-top: 2px solid #9a9a9a;
|
59
|
+
cursor: crosshair;
|
60
|
+
height: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
|
61
|
+
margin: 0px 10px 10px 10px;
|
62
|
+
overflow: hidden; /* hide the overdraw of the Color Map icon when at edge of viewing box */
|
63
|
+
padding: 0px;
|
64
|
+
position: relative; /* make this element an absolute positioning container */
|
65
|
+
width: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
|
66
|
+
}
|
67
|
+
.jPicker div[class="Map"] {
|
68
|
+
height: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
|
69
|
+
width: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
|
70
|
+
}
|
71
|
+
.jPicker div.Bar {
|
72
|
+
border-bottom: 2px solid #fff;
|
73
|
+
border-left: 2px solid #9a9a9a;
|
74
|
+
border-right: 2px solid #fff;
|
75
|
+
border-top: 2px solid #9a9a9a;
|
76
|
+
cursor: n-resize;
|
77
|
+
height: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
|
78
|
+
margin: -11px 10px 0 5px;
|
79
|
+
overflow: hidden;
|
80
|
+
padding: 0px;
|
81
|
+
position: relative;
|
82
|
+
width: 24px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 20px later */
|
83
|
+
}
|
84
|
+
.jPicker div[class="Bar"] {
|
85
|
+
height: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
|
86
|
+
width: 20px; /* correct to 20px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */
|
87
|
+
}
|
88
|
+
.jPicker .Map .Map1, .jPicker .Map .Map2, .jPicker .Map .Map3, .jPicker .Bar .Map1, .jPicker .Bar .Map2, .jPicker .Bar .Map3, .jPicker .Bar .Map4, .jPicker .Bar .Map5, .jPicker .Bar .Map6 {
|
89
|
+
background-color: transparent;
|
90
|
+
background-image: none;
|
91
|
+
display: block;
|
92
|
+
left: 0px;
|
93
|
+
position: absolute;
|
94
|
+
top: 0px;
|
95
|
+
}
|
96
|
+
.jPicker .Map .Map1, .jPicker .Map .Map2, .jPicker .Map .Map3 {
|
97
|
+
height: 2596px;
|
98
|
+
width: 256px; /* must specify pixel width. IE7/8 Quirks mode ignores opacity for an absolutely positioned item in a relative container with "overflow: visible". The marker in the colorBar
|
99
|
+
would not be drawn if its overflow is set to hidden. */
|
100
|
+
}
|
101
|
+
.jPicker .Bar .Map1, .jPicker .Bar .Map2, .jPicker .Bar .Map3, .jPicker .Bar .Map4 {
|
102
|
+
height: 3896px;
|
103
|
+
width: 20px; /* must specify pixel width. IE7/8 Quirks mode ignores opacity for an absolutely positioned item in a relative container with "overflow: visible". The marker in the colorBar
|
104
|
+
would not be drawn if its overflow is set to hidden. */
|
105
|
+
}
|
106
|
+
.jPicker .Bar .Map5, .jPicker .Bar .Map6 {
|
107
|
+
height: 256px;
|
108
|
+
width: 20px; /* must specify pixel width. IE7/8 Quirks mode ignores opacity for an absolutely positioned item in a relative container with "overflow: visible". The marker in the colorBar
|
109
|
+
would not be drawn if its overflow is set to hidden. */
|
110
|
+
}
|
111
|
+
.jPicker .Map .Map1, .jPicker .Map .Map2, .jPicker .Bar .Map6 {
|
112
|
+
background-repeat: no-repeat;
|
113
|
+
}
|
114
|
+
.jPicker .Map .Map3, .jPicker .Bar .Map5 {
|
115
|
+
background-repeat: repeat;
|
116
|
+
}
|
117
|
+
.jPicker .Bar .Map1, .jPicker .Bar .Map2, .jPicker .Bar .Map3, .jPicker .Bar .Map4 {
|
118
|
+
background-repeat: repeat-x;
|
119
|
+
}
|
120
|
+
.jPicker .Map .Arrow {
|
121
|
+
display: block;
|
122
|
+
position: absolute;
|
123
|
+
}
|
124
|
+
.jPicker .Bar .Arrow {
|
125
|
+
display: block;
|
126
|
+
left: 0px; /* (arrow width / 2) - (element width / 2) - position arrows' center in elements' center */
|
127
|
+
position: absolute;
|
128
|
+
}
|
129
|
+
.jPicker .Preview {
|
130
|
+
font-size: 9px;
|
131
|
+
padding: 5px 0px 0px 0px;
|
132
|
+
text-align: center;
|
133
|
+
}
|
134
|
+
.jPicker .Preview div {
|
135
|
+
border: 2px inset #eee;
|
136
|
+
height: 62px;
|
137
|
+
margin: 0px auto;
|
138
|
+
padding: 0px;
|
139
|
+
width: 62px;
|
140
|
+
}
|
141
|
+
.jPicker .Preview div span {
|
142
|
+
border: 1px solid #000;
|
143
|
+
display: block;
|
144
|
+
height: 30px;
|
145
|
+
margin: 0px auto;
|
146
|
+
padding: 0px;
|
147
|
+
width: 60px;
|
148
|
+
}
|
149
|
+
.jPicker .Preview .Active {
|
150
|
+
border-bottom-width: 0px;
|
151
|
+
}
|
152
|
+
.jPicker .Preview .Current {
|
153
|
+
border-top-width: 0px;
|
154
|
+
cursor: pointer;
|
155
|
+
}
|
156
|
+
.jPicker input {
|
157
|
+
font-size: 13px;
|
158
|
+
}
|
159
|
+
.jPicker .Button {
|
160
|
+
text-align: center;
|
161
|
+
padding: 0px 4px;
|
162
|
+
width: 115px;
|
163
|
+
}
|
164
|
+
.jPicker .Button input {
|
165
|
+
padding: 2px 0px;
|
166
|
+
width: 100px;
|
167
|
+
}
|
168
|
+
.jPicker .Button .Ok {
|
169
|
+
margin: 12px 0px 5px 0px;
|
170
|
+
}
|
171
|
+
.jPicker td {
|
172
|
+
margin: 0px;
|
173
|
+
padding: 0px;
|
174
|
+
}
|
175
|
+
.jPicker td.Radio {
|
176
|
+
margin: 0px;
|
177
|
+
padding: 0px;
|
178
|
+
width: 31px;
|
179
|
+
}
|
180
|
+
.jPicker td.Radio input {
|
181
|
+
margin: 0px 5px 0px 0px;
|
182
|
+
padding: 0px;
|
183
|
+
}
|
184
|
+
.jPicker td.Text {
|
185
|
+
font-size: 12px !important;
|
186
|
+
height: 22px;
|
187
|
+
margin: 0px;
|
188
|
+
padding: 0px;
|
189
|
+
text-align: left;
|
190
|
+
width: 70px;
|
191
|
+
}
|
192
|
+
.jPicker tr.Hex td.Text {
|
193
|
+
width: 100px;
|
194
|
+
}
|
195
|
+
.jPicker td.Text input {
|
196
|
+
background-color: #fff;
|
197
|
+
border: 1px inset #aaa;
|
198
|
+
height: 19px;
|
199
|
+
margin: 0px 0px 0px 5px;
|
200
|
+
text-align: left;
|
201
|
+
width: 30px;
|
202
|
+
}
|
203
|
+
.jPicker td[class="Text"] input {
|
204
|
+
height: 15px;
|
205
|
+
}
|
206
|
+
.jPicker tr.Hex td.Text input.Hex {
|
207
|
+
width: 45px;
|
208
|
+
margin-left: 2px;
|
209
|
+
text-align: center;
|
210
|
+
}
|
211
|
+
.jPicker.no-alpha-picker tr.Hex td.Text input.Hex {
|
212
|
+
width: 50px;
|
213
|
+
margin-left: 5px;
|
214
|
+
}
|
215
|
+
.jPicker tr.Hex td.Text input.AHex {
|
216
|
+
width: 15px;
|
217
|
+
}
|
218
|
+
.jPicker.no-alpha-picker tr.Hex td.Text input.AHex {
|
219
|
+
display: none;
|
220
|
+
}
|
221
|
+
.jPicker.no-alpha-picker tr.Alpha {
|
222
|
+
visibility: hidden;
|
223
|
+
}
|
224
|
+
.jPicker .Grid {
|
225
|
+
text-align: center;
|
226
|
+
width: 114px;
|
227
|
+
}
|
228
|
+
.jPicker .Grid span.QuickColor {
|
229
|
+
border: 1px inset #aaa;
|
230
|
+
cursor: pointer;
|
231
|
+
display: inline-block;
|
232
|
+
height: 15px;
|
233
|
+
line-height: 15px;
|
234
|
+
margin: 0px;
|
235
|
+
padding: 0px;
|
236
|
+
width: 19px;
|
237
|
+
}
|
238
|
+
.jPicker .Grid span[class="QuickColor"] {
|
239
|
+
width: 17px;
|
240
|
+
}
|
241
|
+
@media all
|
242
|
+
{
|
243
|
+
#jPicker { margin: 0px 8px; text-align: left; }
|
244
|
+
#jPicker ul { font-size: 15px; margin: 0px 0px 0px 15px; padding: 0px; }
|
245
|
+
#jPicker ul li { list-style: disc; padding: 2px 0px; }
|
246
|
+
#jPicker ul li ul { margin-bottom: 10px; }
|
247
|
+
#jPicker ul li ul li { list-style: circle; }
|
248
|
+
#jPicker p { font-size: 13px; padding: 0px 10px; }
|
249
|
+
#jPicker hr { clear: both; }
|
250
|
+
#jPicker h2.jPicker { font-size: 16px; padding: 20px 10px; }
|
251
|
+
#jPicker code { color: #8bd; font-size: 14px; font-weight: bold; }
|
252
|
+
#jPicker pre { background: #eee; border: 1px solid #000; color: #000; display: block; font-size: 11px; margin: 10px 5px; padding: 5px; }
|
253
|
+
#jPicker span { font-size: 13px; text-align: center; }
|
254
|
+
#jPicker a { color: #ff8050; }
|
255
|
+
#jPicker input { font-size: 13px; padding: 2px 5px; }
|
256
|
+
#jPicker h2 { font-size: 16px; margin: 10px 0px; }
|
257
|
+
}
|
@@ -253,7 +253,7 @@ if (!('sessionStorage' in window)) {window.sessionStorage = new Storage('session
|
|
253
253
|
$.webshims.isReady('json-storage', true);
|
254
254
|
};
|
255
255
|
var storageCFG = $.webshims.cfg['json-storage'];
|
256
|
-
|
256
|
+
webshims.swfLocalStorage = {
|
257
257
|
show: function(){
|
258
258
|
if(storageCFG.exceededMessage){
|
259
259
|
$('#swflocalstorageshim-wrapper').prepend('<div class="polyfill-exceeded-message">'+ storageCFG.exceededMessage +'</div>');
|
@@ -284,14 +284,14 @@ if (!('sessionStorage' in window)) {window.sessionStorage = new Storage('session
|
|
284
284
|
//
|
285
285
|
// };
|
286
286
|
|
287
|
-
|
287
|
+
webshims.ready('DOM swfmini', function(){
|
288
288
|
|
289
289
|
var swfmini = window.swfmini;
|
290
290
|
if(runStart || (('localStorage' in window) && document.getElementById('swflocalstorageshim')) ){return;}
|
291
291
|
runStart = true;
|
292
292
|
if(swfmini && swfmini.hasFlashPlayerVersion('8.0.0')){
|
293
293
|
$('body').append('<div id="swflocalstorageshim-wrapper"><div id="swflocalstorageshim" /></div>');
|
294
|
-
swfmini.embedSWF(
|
294
|
+
swfmini.embedSWF(webshims.cfg.basePath +'swf/localStorage.swf' +(webshims.cfg.addCacheBuster || ''), 'swflocalstorageshim', '295', '198', '8.0.0', null, {allowscriptaccess: 'always'}, {name: 'swflocalstorageshim'}, function(e){
|
295
295
|
if(!e.success && !window.localStorage){
|
296
296
|
localStorageSwfCallback();
|
297
297
|
}
|
@@ -299,7 +299,7 @@ if (!('sessionStorage' in window)) {window.sessionStorage = new Storage('session
|
|
299
299
|
clearTimeout(swfTimer);
|
300
300
|
swfTimer = setTimeout(function(){
|
301
301
|
if(!('localStorage' in window)){
|
302
|
-
|
302
|
+
webshims.warn('Add your development-directory to the local-trusted security sandbox: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html');
|
303
303
|
}
|
304
304
|
localStorageSwfCallback();
|
305
305
|
}, (location.protocol.indexOf('file') === 0) ? 500 : 9999);
|
@@ -3,7 +3,7 @@
|
|
3
3
|
var hasNative = Modernizr.audio && Modernizr.video;
|
4
4
|
var supportsLoop = false;
|
5
5
|
var bugs = webshims.bugs;
|
6
|
-
|
6
|
+
var swfType = 'mediaelement-jaris';
|
7
7
|
var loadSwf = function(){
|
8
8
|
webshims.ready(swfType, function(){
|
9
9
|
if(!webshims.mediaelement.createSWF){
|
@@ -13,7 +13,7 @@
|
|
13
13
|
});
|
14
14
|
};
|
15
15
|
var options = webshims.cfg.mediaelement;
|
16
|
-
var
|
16
|
+
var hasFullTrackSupport;
|
17
17
|
var hasSwf;
|
18
18
|
if(!options){
|
19
19
|
webshims.error("mediaelement wasn't implemented but loaded");
|
@@ -26,14 +26,11 @@
|
|
26
26
|
|
27
27
|
webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
|
28
28
|
|
29
|
-
if(!Modernizr.videoBuffered){
|
29
|
+
if(!Modernizr.videoBuffered ){
|
30
30
|
webshims.addPolyfill('mediaelement-native-fix', {
|
31
|
-
f: 'mediaelement',
|
32
|
-
test: Modernizr.videoBuffered,
|
33
31
|
d: ['dom-support']
|
34
32
|
});
|
35
|
-
|
36
|
-
webshims.reTest('mediaelement-native-fix');
|
33
|
+
webshims.loader.loadList(['mediaelement-native-fix']);
|
37
34
|
}
|
38
35
|
}
|
39
36
|
|
@@ -44,9 +41,9 @@
|
|
44
41
|
};
|
45
42
|
var switchOptions = function(e){
|
46
43
|
var media;
|
47
|
-
var parent
|
44
|
+
var parent;
|
48
45
|
if(!options.preferFlash &&
|
49
|
-
($(e.target).is('audio, video') || (parent && $('source:last', parent)[0] == e.target)) &&
|
46
|
+
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source:last', parent)[0] == e.target)) &&
|
50
47
|
(media = $(e.target).closest('audio, video')) && !noSwitch[media.prop('error')]
|
51
48
|
){
|
52
49
|
$(function(){
|
@@ -60,7 +57,7 @@
|
|
60
57
|
$('audio, video').each(function(){
|
61
58
|
webshims.mediaelement.selectSource(this);
|
62
59
|
});
|
63
|
-
webshims.
|
60
|
+
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error'));
|
64
61
|
}
|
65
62
|
}, 9);
|
66
63
|
});
|
@@ -95,43 +92,9 @@
|
|
95
92
|
bugs.track = true;
|
96
93
|
}
|
97
94
|
}
|
98
|
-
|
99
|
-
var trackOptions = webshims.cfg.track;
|
100
|
-
var trackListener = function(e){
|
101
|
-
$(e.target).filter('track').each(changeApi);
|
102
|
-
};
|
103
|
-
var changeApi = function(){
|
104
|
-
if(bugs.track || (!trackOptions.override && $.prop(this, 'readyState') == 3)){
|
105
|
-
trackOptions.override = true;
|
106
|
-
webshims.reTest('track');
|
107
|
-
document.removeEventListener('error', trackListener, true);
|
108
|
-
if(this && $.nodeName(this, 'track')){
|
109
|
-
webshims.error("track support was overwritten. Please check your vtt including your vtt mime-type");
|
110
|
-
} else {
|
111
|
-
webshims.info("track support was overwritten. due to bad browser support");
|
112
|
-
}
|
113
|
-
return false;
|
114
|
-
}
|
115
|
-
};
|
116
|
-
var detectTrackError = function(){
|
117
|
-
document.addEventListener('error', trackListener, true);
|
118
|
-
|
119
|
-
if(bugs.track){
|
120
|
-
changeApi();
|
121
|
-
} else {
|
122
|
-
$('track').each(changeApi);
|
123
|
-
}
|
124
|
-
};
|
125
|
-
if(!trackOptions.override){
|
126
|
-
if(webshims.isReady('track')){
|
127
|
-
detectTrackError();
|
128
|
-
} else {
|
129
|
-
$(detectTrackError);
|
130
|
-
}
|
131
|
-
}
|
132
95
|
})();
|
133
|
-
|
134
96
|
}
|
97
|
+
hasFullTrackSupport = Modernizr.track && !bugs.track;
|
135
98
|
|
136
99
|
webshims.register('mediaelement-core', function($, webshims, window, document, undefined){
|
137
100
|
hasSwf = swfmini.hasFlashPlayerVersion('9.0.115');
|
@@ -216,7 +179,8 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
216
179
|
var loadTrackUi = function(){
|
217
180
|
if(loadTrackUi.loaded){return;}
|
218
181
|
loadTrackUi.loaded = true;
|
219
|
-
|
182
|
+
webshims.ready('WINDOWLOAD', function(){
|
183
|
+
loadThird();
|
220
184
|
webshims.loader.loadList(['track-ui']);
|
221
185
|
});
|
222
186
|
};
|
@@ -389,27 +353,40 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
389
353
|
}
|
390
354
|
return ret;
|
391
355
|
};
|
392
|
-
|
356
|
+
var emptyType = (/^\s*application\/octet\-stream\s*$/i);
|
357
|
+
var getRemoveEmptyType = function(){
|
358
|
+
var ret = emptyType.test($.attr(this, 'type') || '');
|
359
|
+
if(ret){
|
360
|
+
$(this).removeAttr('type');
|
361
|
+
}
|
362
|
+
return ret;
|
363
|
+
};
|
393
364
|
mediaelement.setError = function(elem, message){
|
394
|
-
if(
|
395
|
-
|
365
|
+
if($('source', elem).filter(getRemoveEmptyType).length){
|
366
|
+
webshims.error('"application/octet-stream" is a useless mimetype for audio/video. Please change this attribute.');
|
367
|
+
try {
|
368
|
+
$(elem).mediaLoad();
|
369
|
+
} catch(er){}
|
370
|
+
} else {
|
371
|
+
if(!message){
|
372
|
+
message = "can't play sources";
|
373
|
+
}
|
374
|
+
$(elem).pause().data('mediaerror', message);
|
375
|
+
webshims.error('mediaelementError: '+ message);
|
376
|
+
setTimeout(function(){
|
377
|
+
if($(elem).data('mediaerror')){
|
378
|
+
$(elem).trigger('mediaerror');
|
379
|
+
}
|
380
|
+
}, 1);
|
396
381
|
}
|
397
382
|
|
398
|
-
|
399
|
-
webshims.error('mediaelementError: '+ message);
|
400
|
-
setTimeout(function(){
|
401
|
-
if($(elem).data('mediaerror')){
|
402
|
-
$(elem).trigger('mediaerror');
|
403
|
-
}
|
404
|
-
}, 1);
|
383
|
+
|
405
384
|
};
|
406
385
|
|
407
386
|
var handleThird = (function(){
|
408
387
|
var requested;
|
409
388
|
return function( mediaElem, ret, data ){
|
410
|
-
|
411
|
-
loadTrackUi();
|
412
|
-
}
|
389
|
+
|
413
390
|
webshims.ready(hasSwf ? swfType : 'mediaelement-yt', function(){
|
414
391
|
if(mediaelement.createSWF){
|
415
392
|
mediaelement.createSWF( mediaElem, ret, data );
|
@@ -554,6 +531,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
554
531
|
var buffered = getBufferedString();
|
555
532
|
if(buffered != lastBuffered){
|
556
533
|
lastBuffered = buffered;
|
534
|
+
webshims.info('needed to trigger progress manually');
|
557
535
|
$(elem).triggerHandler('progress');
|
558
536
|
}
|
559
537
|
};
|
@@ -605,11 +583,14 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
605
583
|
$('video, audio', context)
|
606
584
|
.add(insertedElement.filter('video, audio'))
|
607
585
|
.each(function(){
|
608
|
-
if(!mediaelement.canNativePlaySrces(this)
|
586
|
+
if(!mediaelement.canNativePlaySrces(this)){
|
609
587
|
loadThird();
|
610
588
|
handleMedia = true;
|
611
589
|
return false;
|
612
590
|
}
|
591
|
+
if((!hasFullTrackSupport || webshims.modules.track.options.override) && !loadTrackUi.loaded && $('track', this).length){
|
592
|
+
loadTrackUi();
|
593
|
+
}
|
613
594
|
})
|
614
595
|
;
|
615
596
|
}
|
@@ -617,7 +598,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
617
598
|
}
|
618
599
|
};
|
619
600
|
|
620
|
-
if(
|
601
|
+
if(hasFullTrackSupport){
|
621
602
|
webshims.defineProperty(TextTrack.prototype, 'shimActiveCues', {
|
622
603
|
get: function(){
|
623
604
|
return this._shimActiveCues || this.activeCues;
|
@@ -632,6 +613,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
632
613
|
} else {
|
633
614
|
webshims.ready(swfType, initMediaElements);
|
634
615
|
}
|
635
|
-
webshims.ready('
|
616
|
+
webshims.ready('track', loadTrackUi);
|
636
617
|
});
|
637
|
-
})(jQuery, Modernizr,
|
618
|
+
})(jQuery, Modernizr, webshims);
|