webshims-rails 1.10.11 → 1.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/lib/webshims-rails/version.rb +2 -2
- data/readme.textile +14 -1
- data/vendor/assets/javascripts/webshims/polyfiller.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +12 -63
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +17 -7
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +17 -3
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +11 -12
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +11 -12
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +0 -4
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +10 -59
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +21 -71
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +17 -3
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +17 -3
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +58 -19
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +12 -67
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +58 -19
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +47 -3
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +11 -12
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +324 -79
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +63 -21
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +5 -6
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +5 -2
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +47 -7
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +1 -55
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +1 -55
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +1 -55
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +0 -4
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +17 -3
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +17 -3
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +12 -67
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +12 -67
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +17 -7
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +0 -4
- data/vendor/assets/javascripts/webshims/shims/filereader.js +5 -2
- data/vendor/assets/javascripts/webshims/shims/form-core.js +1 -51
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +24 -15
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +6 -2
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +9 -4
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +135 -24
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +189 -55
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +4 -1
- data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +3 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +11 -12
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +47 -3
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +28 -8
- data/vendor/assets/javascripts/webshims/shims/mediagroup.js +29 -0
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +11 -1
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +17 -4
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +17 -6
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- metadata +3 -3
- data/vendor/assets/javascripts/webshims/shims/swf/jwwebshims.swf +0 -0
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZDQzM2Q1ZDU3NDMyYzk3MTQ4ZTk5ZWU2MTE5MDczMTM4NTY2YTA1MQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZmMyMTI4YzI3ZmE0NWRmZDczZjVjMTdlMTVlZGI2OWU3ODY4ZTI5MQ==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YTZkYjFjZjU3NmIzNDc3MDdhMGM0ZTQ0OGE1NTNhOWM3ZTAxYTU0Y2I2OTcx
|
10
|
+
YjVmMmJlZTg3ZTUwYTRjYjkyYTdhNTRkMjU4MzRjZjllMGYwZjNhMzZkZjM0
|
11
|
+
YjAzOTkyMjRkYWRlNDVlNGM1Y2Q3MTliNDE2ZWE1NTEzNTBmNTI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MjNjN2U5ZGY1OTI4ZWIxZGVlMmM0M2EzNTdkNzdmNDE5ZWE3MWFmOGUxZjVi
|
14
|
+
Nzk1ZDcwMGJiN2Y2Yjk2NGVkN2I4ZTExZjI2ZjNhNmJhZjlkZWFmZDg4NDk0
|
15
|
+
ZGZhZWFkNzM0ODFhN2UwZWE1Y2ZlZmY4NjMyYjU2OThlNDM1Zjk=
|
data/readme.textile
CHANGED
@@ -2,6 +2,19 @@ h1. Webshims-rails
|
|
2
2
|
|
3
3
|
Easily include the "webshims library":http://aFarkas.github.com/webshim/demos/index.html (by Alexander Farkas) in your Rails 3.1+ project with the asset pipeline.
|
4
4
|
|
5
|
+
h2. Note on Changes in Rails 4
|
6
|
+
|
7
|
+
With the release of Rails 4 and an updated "sprockets-rails":https://github.com/rails/sprockets-rails#changes-from-rails-3x gem, only digest filenames are compiled when running rake assets:precompile (non-digest filenames are no longer compiled).
|
8
|
+
|
9
|
+
Since webshims does not support fingerprinting, this will result in 404s (missing assets) in production mode. To avoid this, you have two options:
|
10
|
+
|
11
|
+
One, turn (back) on asset compiling with non-digest filenames, with, for example, this gist: https://gist.github.com/eric1234/5692456
|
12
|
+
|
13
|
+
Or two, copy-paste the webshims directory into the public/ directory. Then, alter step 3 below to re-configure your basePath from public/assets (as it was in Rails 3.X) to public/:
|
14
|
+
<pre>
|
15
|
+
$.webshims.setOptions('basePath', '/webshims/shims/')
|
16
|
+
</pre>
|
17
|
+
|
5
18
|
h2. Usage
|
6
19
|
|
7
20
|
1. Add webshims-rails to your Gemfile for bundler: @gem 'webshims-rails'@
|
@@ -27,4 +40,4 @@ Users of previous webshims-rails versions should update their sprockets requires
|
|
27
40
|
|
28
41
|
h2. License
|
29
42
|
|
30
|
-
MIT licensed, like the Webshims library.
|
43
|
+
MIT licensed, like the Webshims library.
|
@@ -655,62 +655,12 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
655
655
|
|
656
656
|
|
657
657
|
$(document).on('focusin.lazyloadvalidation', function(e){
|
658
|
-
if('form' in e.target && $(e.target).is(':invalid')){
|
658
|
+
if('form' in e.target && (e.target.list || $(e.target).is(':invalid'))){
|
659
659
|
lazyLoad();
|
660
660
|
}
|
661
661
|
});
|
662
662
|
webshims.ready('WINDOWLOAD', lazyLoad);
|
663
663
|
|
664
|
-
if(options.replaceValidationUI){
|
665
|
-
webshims.ready('DOM forms', function(){
|
666
|
-
$(document).on('firstinvalid', function(e){
|
667
|
-
if(!e.isInvalidUIPrevented()){
|
668
|
-
e.preventDefault();
|
669
|
-
webshims.validityAlert.showFor( e.target );
|
670
|
-
}
|
671
|
-
});
|
672
|
-
});
|
673
|
-
}
|
674
|
-
|
675
|
-
/* extension, but also used to fix native implementation workaround/bugfixes */
|
676
|
-
(function(){
|
677
|
-
var firstEvent,
|
678
|
-
invalids = [],
|
679
|
-
stopSubmitTimer,
|
680
|
-
form
|
681
|
-
;
|
682
|
-
|
683
|
-
$(document).on('invalid', function(e){
|
684
|
-
if(e.wrongWebkitInvalid){return;}
|
685
|
-
var jElm = $(e.target);
|
686
|
-
|
687
|
-
|
688
|
-
if(!firstEvent){
|
689
|
-
//trigger firstinvalid
|
690
|
-
firstEvent = $.Event('firstinvalid');
|
691
|
-
firstEvent.isInvalidUIPrevented = e.isDefaultPrevented;
|
692
|
-
var firstSystemInvalid = $.Event('firstinvalidsystem');
|
693
|
-
$(document).triggerHandler(firstSystemInvalid, {element: e.target, form: e.target.form, isInvalidUIPrevented: e.isDefaultPrevented});
|
694
|
-
jElm.trigger(firstEvent);
|
695
|
-
}
|
696
|
-
|
697
|
-
//if firstinvalid was prevented all invalids will be also prevented
|
698
|
-
if( firstEvent && firstEvent.isDefaultPrevented() ){
|
699
|
-
e.preventDefault();
|
700
|
-
}
|
701
|
-
invalids.push(e.target);
|
702
|
-
e.extraData = 'fix';
|
703
|
-
clearTimeout(stopSubmitTimer);
|
704
|
-
stopSubmitTimer = setTimeout(function(){
|
705
|
-
var lastEvent = {type: 'lastinvalid', cancelable: false, invalidlist: $(invalids)};
|
706
|
-
//reset firstinvalid
|
707
|
-
firstEvent = false;
|
708
|
-
invalids = [];
|
709
|
-
$(e.target).trigger(lastEvent, lastEvent);
|
710
|
-
}, 9);
|
711
|
-
jElm = null;
|
712
|
-
});
|
713
|
-
})();
|
714
664
|
});
|
715
665
|
|
716
666
|
(function(Modernizr, webshims){
|
@@ -739,6 +689,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
739
689
|
if(hasNative){
|
740
690
|
var videoElem = document.createElement('video');
|
741
691
|
Modernizr.videoBuffered = ('buffered' in videoElem);
|
692
|
+
Modernizr.mediaDefaultMuted = ('defaultMuted' in videoElem);
|
742
693
|
supportsLoop = ('loop' in videoElem);
|
743
694
|
|
744
695
|
webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
|
@@ -752,20 +703,15 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
752
703
|
|
753
704
|
if(!options.preferFlash){
|
754
705
|
var noSwitch = {
|
755
|
-
1: 1
|
756
|
-
2: 1
|
706
|
+
1: 1
|
757
707
|
};
|
758
708
|
var switchOptions = function(e){
|
759
709
|
var media, error, parent;
|
760
710
|
if(!options.preferFlash &&
|
761
711
|
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source:last', parent)[0] == e.target)) &&
|
762
|
-
(media = $(e.target).closest('audio, video')) &&
|
712
|
+
(media = $(e.target).closest('audio, video')) && (error = media.prop('error')) && !noSwitch[error.code]
|
763
713
|
){
|
764
|
-
|
765
|
-
webshims.warn("There was an unspecified error on a mediaelement");
|
766
|
-
return;
|
767
|
-
|
768
|
-
}
|
714
|
+
|
769
715
|
$(function(){
|
770
716
|
if(hasSwf && !options.preferFlash){
|
771
717
|
loadSwf();
|
@@ -777,7 +723,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
777
723
|
$('audio, video').each(function(){
|
778
724
|
webshims.mediaelement.selectSource(this);
|
779
725
|
});
|
780
|
-
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error'));
|
726
|
+
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error')+ 'first error: '+ error);
|
781
727
|
}
|
782
728
|
}, 9);
|
783
729
|
});
|
@@ -983,7 +929,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
983
929
|
if(src.indexOf('rtmp') === 0){
|
984
930
|
return nodeName+'/rtmp';
|
985
931
|
}
|
986
|
-
src = src.split('?')[0].split('.');
|
932
|
+
src = src.split('?')[0].split('#')[0].split('.');
|
987
933
|
src = src[src.length - 1];
|
988
934
|
var mt;
|
989
935
|
|
@@ -1102,7 +1048,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1102
1048
|
webshims.error('mediaelementError: '+ message);
|
1103
1049
|
setTimeout(function(){
|
1104
1050
|
if($(elem).data('mediaerror')){
|
1105
|
-
$(elem).trigger('mediaerror');
|
1051
|
+
$(elem).addClass('media-error').trigger('mediaerror');
|
1106
1052
|
}
|
1107
1053
|
}, 1);
|
1108
1054
|
}
|
@@ -1166,6 +1112,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1166
1112
|
var parent = elem.parentNode;
|
1167
1113
|
|
1168
1114
|
clearTimeout(baseData.loadTimer);
|
1115
|
+
$(elem).removeClass('media-error');
|
1169
1116
|
$.data(elem, 'mediaerror', false);
|
1170
1117
|
|
1171
1118
|
if(!_srces.length || !parent || parent.nodeType != 1 || stopParent.test(parent.nodeName || '')){return;}
|
@@ -1193,7 +1140,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1193
1140
|
var testFixMedia = function(){
|
1194
1141
|
if(webshims.implement(this, 'mediaelement')){
|
1195
1142
|
selectSource(this);
|
1196
|
-
|
1143
|
+
if(!Modernizr.mediaDefaultMuted && $.attr(this, 'muted') != null){
|
1144
|
+
$.prop(this, 'muted', true);
|
1145
|
+
}
|
1197
1146
|
//fixes for FF 12 and IE9/10 || does not hurt, if run in other browsers
|
1198
1147
|
if(hasNative && (!supportsLoop || ('ActiveXObject' in window))){
|
1199
1148
|
var bufferTimer;
|
@@ -13,10 +13,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
13
13
|
webshims.error("Webshims needs jQuery 1.8+ to work properly. Please update your jQuery version or downgrade webshims.");
|
14
14
|
}
|
15
15
|
|
16
|
-
if(webshims.cfg.extendNative === undefined){
|
17
|
-
webshims.warn("extendNative configuration was set to false by default with this release. In case you rely on it set it to 'true' otherwise to 'false'. See http://bit.ly/16OOTQO");
|
18
|
-
}
|
19
|
-
|
20
16
|
if (!webshims.cfg.no$Switch) {
|
21
17
|
var switch$ = function(){
|
22
18
|
if (window.jQuery && (!window.$ || window.jQuery == window.$) && !window.jQuery.webshims) {
|
@@ -1271,7 +1267,17 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1271
1267
|
this.value(this.options.value, true);
|
1272
1268
|
},
|
1273
1269
|
step: function(val){
|
1274
|
-
this.options
|
1270
|
+
var o = this.options;
|
1271
|
+
var step = val == 'any' ? 'any' : retDefault(val, 1);
|
1272
|
+
|
1273
|
+
if(o.stepping){
|
1274
|
+
if(step != 'any' && o.stepping % step){
|
1275
|
+
webshims.error('wrong stepping value for type range:'+ (o.stepping % step));
|
1276
|
+
} else {
|
1277
|
+
step = o.stepping;
|
1278
|
+
}
|
1279
|
+
}
|
1280
|
+
o.step = step;
|
1275
1281
|
this.value(this.options.value);
|
1276
1282
|
},
|
1277
1283
|
|
@@ -1992,6 +1998,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1992
1998
|
fVal[0] = tmp;
|
1993
1999
|
}
|
1994
2000
|
val = this.date(fVal[0], o) +'T'+ this.time(fVal[1], o);
|
2001
|
+
} else if (fVal.length == 3) {
|
2002
|
+
val = this.date(fVal[0], o) +'T'+ this.time(fVal[1]+fVal[2], o);
|
1995
2003
|
}
|
1996
2004
|
return val;
|
1997
2005
|
},
|
@@ -2848,7 +2856,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2848
2856
|
|
2849
2857
|
picker._actions = {
|
2850
2858
|
changeInput: function(val, popover, data){
|
2851
|
-
|
2859
|
+
if(!data.options.noChangeDismiss){
|
2860
|
+
picker._actions.cancel(val, popover, data);
|
2861
|
+
}
|
2852
2862
|
data.setChange(val);
|
2853
2863
|
},
|
2854
2864
|
cancel: function(val, popover, data){
|
@@ -3395,7 +3405,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
3395
3405
|
});
|
3396
3406
|
}
|
3397
3407
|
|
3398
|
-
var isStupid = modernizrInputTypes.number && navigator.userAgent.indexOf('Touch') == -1 && (/MSIE 1[0|1]\.\d/.test(navigator.userAgent) || /Trident\/7\.0/.test(navigator.userAgent));
|
3408
|
+
var isStupid = modernizrInputTypes.number && navigator.userAgent.indexOf('Touch') == -1 && ((/MSIE 1[0|1]\.\d/.test(navigator.userAgent)) || (/Trident\/7\.0/.test(navigator.userAgent)));
|
3399
3409
|
['number', 'time', 'month', 'date', 'color', 'datetime-local'].forEach(function(name){
|
3400
3410
|
if(!modernizrInputTypes[name] || options.replaceUI || (name == 'number' && isStupid)){
|
3401
3411
|
extendType(name, {
|
@@ -177,7 +177,17 @@
|
|
177
177
|
this.value(this.options.value, true);
|
178
178
|
},
|
179
179
|
step: function(val){
|
180
|
-
this.options
|
180
|
+
var o = this.options;
|
181
|
+
var step = val == 'any' ? 'any' : retDefault(val, 1);
|
182
|
+
|
183
|
+
if(o.stepping){
|
184
|
+
if(step != 'any' && o.stepping % step){
|
185
|
+
webshims.error('wrong stepping value for type range:'+ (o.stepping % step));
|
186
|
+
} else {
|
187
|
+
step = o.stepping;
|
188
|
+
}
|
189
|
+
}
|
190
|
+
o.step = step;
|
181
191
|
this.value(this.options.value);
|
182
192
|
},
|
183
193
|
|
@@ -898,6 +908,8 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
898
908
|
fVal[0] = tmp;
|
899
909
|
}
|
900
910
|
val = this.date(fVal[0], o) +'T'+ this.time(fVal[1], o);
|
911
|
+
} else if (fVal.length == 3) {
|
912
|
+
val = this.date(fVal[0], o) +'T'+ this.time(fVal[1]+fVal[2], o);
|
901
913
|
}
|
902
914
|
return val;
|
903
915
|
},
|
@@ -1754,7 +1766,9 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
1754
1766
|
|
1755
1767
|
picker._actions = {
|
1756
1768
|
changeInput: function(val, popover, data){
|
1757
|
-
|
1769
|
+
if(!data.options.noChangeDismiss){
|
1770
|
+
picker._actions.cancel(val, popover, data);
|
1771
|
+
}
|
1758
1772
|
data.setChange(val);
|
1759
1773
|
},
|
1760
1774
|
cancel: function(val, popover, data){
|
@@ -2301,7 +2315,7 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
|
|
2301
2315
|
});
|
2302
2316
|
}
|
2303
2317
|
|
2304
|
-
var isStupid = modernizrInputTypes.number && navigator.userAgent.indexOf('Touch') == -1 && (/MSIE 1[0|1]\.\d/.test(navigator.userAgent) || /Trident\/7\.0/.test(navigator.userAgent));
|
2318
|
+
var isStupid = modernizrInputTypes.number && navigator.userAgent.indexOf('Touch') == -1 && ((/MSIE 1[0|1]\.\d/.test(navigator.userAgent)) || (/Trident\/7\.0/.test(navigator.userAgent)));
|
2305
2319
|
['number', 'time', 'month', 'date', 'color', 'datetime-local'].forEach(function(name){
|
2306
2320
|
if(!modernizrInputTypes[name] || options.replaceUI || (name == 'number' && isStupid)){
|
2307
2321
|
extendType(name, {
|
@@ -476,6 +476,7 @@ var swfmini = function() {
|
|
476
476
|
if(hasNative){
|
477
477
|
var videoElem = document.createElement('video');
|
478
478
|
Modernizr.videoBuffered = ('buffered' in videoElem);
|
479
|
+
Modernizr.mediaDefaultMuted = ('defaultMuted' in videoElem);
|
479
480
|
supportsLoop = ('loop' in videoElem);
|
480
481
|
|
481
482
|
webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
|
@@ -489,20 +490,15 @@ var swfmini = function() {
|
|
489
490
|
|
490
491
|
if(!options.preferFlash){
|
491
492
|
var noSwitch = {
|
492
|
-
1: 1
|
493
|
-
2: 1
|
493
|
+
1: 1
|
494
494
|
};
|
495
495
|
var switchOptions = function(e){
|
496
496
|
var media, error, parent;
|
497
497
|
if(!options.preferFlash &&
|
498
498
|
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source:last', parent)[0] == e.target)) &&
|
499
|
-
(media = $(e.target).closest('audio, video')) &&
|
499
|
+
(media = $(e.target).closest('audio, video')) && (error = media.prop('error')) && !noSwitch[error.code]
|
500
500
|
){
|
501
|
-
|
502
|
-
webshims.warn("There was an unspecified error on a mediaelement");
|
503
|
-
return;
|
504
|
-
|
505
|
-
}
|
501
|
+
|
506
502
|
$(function(){
|
507
503
|
if(hasSwf && !options.preferFlash){
|
508
504
|
loadSwf();
|
@@ -514,7 +510,7 @@ var swfmini = function() {
|
|
514
510
|
$('audio, video').each(function(){
|
515
511
|
webshims.mediaelement.selectSource(this);
|
516
512
|
});
|
517
|
-
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error'));
|
513
|
+
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error')+ 'first error: '+ error);
|
518
514
|
}
|
519
515
|
}, 9);
|
520
516
|
});
|
@@ -720,7 +716,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
720
716
|
if(src.indexOf('rtmp') === 0){
|
721
717
|
return nodeName+'/rtmp';
|
722
718
|
}
|
723
|
-
src = src.split('?')[0].split('.');
|
719
|
+
src = src.split('?')[0].split('#')[0].split('.');
|
724
720
|
src = src[src.length - 1];
|
725
721
|
var mt;
|
726
722
|
|
@@ -839,7 +835,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
839
835
|
webshims.error('mediaelementError: '+ message);
|
840
836
|
setTimeout(function(){
|
841
837
|
if($(elem).data('mediaerror')){
|
842
|
-
$(elem).trigger('mediaerror');
|
838
|
+
$(elem).addClass('media-error').trigger('mediaerror');
|
843
839
|
}
|
844
840
|
}, 1);
|
845
841
|
}
|
@@ -903,6 +899,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
903
899
|
var parent = elem.parentNode;
|
904
900
|
|
905
901
|
clearTimeout(baseData.loadTimer);
|
902
|
+
$(elem).removeClass('media-error');
|
906
903
|
$.data(elem, 'mediaerror', false);
|
907
904
|
|
908
905
|
if(!_srces.length || !parent || parent.nodeType != 1 || stopParent.test(parent.nodeName || '')){return;}
|
@@ -930,7 +927,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
930
927
|
var testFixMedia = function(){
|
931
928
|
if(webshims.implement(this, 'mediaelement')){
|
932
929
|
selectSource(this);
|
933
|
-
|
930
|
+
if(!Modernizr.mediaDefaultMuted && $.attr(this, 'muted') != null){
|
931
|
+
$.prop(this, 'muted', true);
|
932
|
+
}
|
934
933
|
//fixes for FF 12 and IE9/10 || does not hurt, if run in other browsers
|
935
934
|
if(hasNative && (!supportsLoop || ('ActiveXObject' in window))){
|
936
935
|
var bufferTimer;
|
@@ -24,6 +24,7 @@
|
|
24
24
|
if(hasNative){
|
25
25
|
var videoElem = document.createElement('video');
|
26
26
|
Modernizr.videoBuffered = ('buffered' in videoElem);
|
27
|
+
Modernizr.mediaDefaultMuted = ('defaultMuted' in videoElem);
|
27
28
|
supportsLoop = ('loop' in videoElem);
|
28
29
|
|
29
30
|
webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
|
@@ -37,20 +38,15 @@
|
|
37
38
|
|
38
39
|
if(!options.preferFlash){
|
39
40
|
var noSwitch = {
|
40
|
-
1: 1
|
41
|
-
2: 1
|
41
|
+
1: 1
|
42
42
|
};
|
43
43
|
var switchOptions = function(e){
|
44
44
|
var media, error, parent;
|
45
45
|
if(!options.preferFlash &&
|
46
46
|
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source:last', parent)[0] == e.target)) &&
|
47
|
-
(media = $(e.target).closest('audio, video')) &&
|
47
|
+
(media = $(e.target).closest('audio, video')) && (error = media.prop('error')) && !noSwitch[error.code]
|
48
48
|
){
|
49
|
-
|
50
|
-
webshims.warn("There was an unspecified error on a mediaelement");
|
51
|
-
return;
|
52
|
-
|
53
|
-
}
|
49
|
+
|
54
50
|
$(function(){
|
55
51
|
if(hasSwf && !options.preferFlash){
|
56
52
|
loadSwf();
|
@@ -62,7 +58,7 @@
|
|
62
58
|
$('audio, video').each(function(){
|
63
59
|
webshims.mediaelement.selectSource(this);
|
64
60
|
});
|
65
|
-
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error'));
|
61
|
+
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error')+ 'first error: '+ error);
|
66
62
|
}
|
67
63
|
}, 9);
|
68
64
|
});
|
@@ -268,7 +264,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
268
264
|
if(src.indexOf('rtmp') === 0){
|
269
265
|
return nodeName+'/rtmp';
|
270
266
|
}
|
271
|
-
src = src.split('?')[0].split('.');
|
267
|
+
src = src.split('?')[0].split('#')[0].split('.');
|
272
268
|
src = src[src.length - 1];
|
273
269
|
var mt;
|
274
270
|
|
@@ -387,7 +383,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
387
383
|
webshims.error('mediaelementError: '+ message);
|
388
384
|
setTimeout(function(){
|
389
385
|
if($(elem).data('mediaerror')){
|
390
|
-
$(elem).trigger('mediaerror');
|
386
|
+
$(elem).addClass('media-error').trigger('mediaerror');
|
391
387
|
}
|
392
388
|
}, 1);
|
393
389
|
}
|
@@ -451,6 +447,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
451
447
|
var parent = elem.parentNode;
|
452
448
|
|
453
449
|
clearTimeout(baseData.loadTimer);
|
450
|
+
$(elem).removeClass('media-error');
|
454
451
|
$.data(elem, 'mediaerror', false);
|
455
452
|
|
456
453
|
if(!_srces.length || !parent || parent.nodeType != 1 || stopParent.test(parent.nodeName || '')){return;}
|
@@ -478,7 +475,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
478
475
|
var testFixMedia = function(){
|
479
476
|
if(webshims.implement(this, 'mediaelement')){
|
480
477
|
selectSource(this);
|
481
|
-
|
478
|
+
if(!Modernizr.mediaDefaultMuted && $.attr(this, 'muted') != null){
|
479
|
+
$.prop(this, 'muted', true);
|
480
|
+
}
|
482
481
|
//fixes for FF 12 and IE9/10 || does not hurt, if run in other browsers
|
483
482
|
if(hasNative && (!supportsLoop || ('ActiveXObject' in window))){
|
484
483
|
var bufferTimer;
|