Final tweaks for v1.5 and IE9
This commit is contained in:
@ -503,14 +503,25 @@
|
||||
// Toggle class on an element
|
||||
function _toggleClass(element, className, state) {
|
||||
if (element) {
|
||||
element.classList[state ? 'add' : 'remove'](className);
|
||||
if (element.classList) {
|
||||
element.classList[state ? 'add' : 'remove'](className);
|
||||
}
|
||||
else {
|
||||
var name = (' ' + element.className + ' ').replace(/\s+/g, ' ').replace(' ' + className + ' ', '');
|
||||
element.className = name + (state ? ' ' + className : '');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Has class name
|
||||
function _hasClass(element, className) {
|
||||
if (element) {
|
||||
return element.classList.contains(className);
|
||||
if (element.classList) {
|
||||
return element.classList.contains(className);
|
||||
}
|
||||
else {
|
||||
return new RegExp('(\\s|^)' + className + '(\\s|$)').test(element.className);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -977,7 +988,7 @@
|
||||
_log('It looks like there is a problem with your controls html', true);
|
||||
|
||||
// Restore native video controls
|
||||
plyr.media.setAttribute('controls', '');
|
||||
_toggleControls(true);
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -988,6 +999,16 @@
|
||||
_toggleClass(plyr.container, defaults.selectors.container.replace('.', ''), plyr.supported.full);
|
||||
}
|
||||
|
||||
// Toggle native controls
|
||||
function _toggleControls(toggle) {
|
||||
if(toggle) {
|
||||
plyr.media.setAttribute('controls', '');
|
||||
}
|
||||
else {
|
||||
plyr.media.removeAttribute('controls');
|
||||
}
|
||||
}
|
||||
|
||||
// Setup aria attribute for play and iframe title
|
||||
function _setTitle(iframe) {
|
||||
// Find the current text
|
||||
@ -1019,9 +1040,6 @@
|
||||
}
|
||||
|
||||
if (plyr.supported.full) {
|
||||
// Remove native video controls
|
||||
plyr.media.removeAttribute('controls');
|
||||
|
||||
// Add type class
|
||||
_toggleClass(plyr.container, config.classes.type.replace('{0}', plyr.type), true);
|
||||
|
||||
@ -2365,7 +2383,7 @@
|
||||
}
|
||||
|
||||
// Restore native video controls
|
||||
plyr.media.setAttribute('controls', '');
|
||||
_toggleControls(true);
|
||||
|
||||
// Clone the media element to remove listeners
|
||||
// http://stackoverflow.com/questions/19469881/javascript-remove-all-event-listeners-of-specific-type
|
||||
@ -2457,6 +2475,10 @@
|
||||
// Remove controls
|
||||
_remove(_getElement(config.selectors.controls.wrapper));
|
||||
|
||||
// Restore native controls
|
||||
_toggleControls(true);
|
||||
|
||||
// Bail
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2466,6 +2488,9 @@
|
||||
_injectControls();
|
||||
}
|
||||
|
||||
// Remove native controls
|
||||
_toggleControls();
|
||||
|
||||
// Find the elements
|
||||
if (!_findElements()) {
|
||||
return;
|
||||
|
Reference in New Issue
Block a user