aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/plyr.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/plyr.js')
-rw-r--r--src/js/plyr.js59
1 files changed, 34 insertions, 25 deletions
diff --git a/src/js/plyr.js b/src/js/plyr.js
index e759e176..3d856364 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -1,6 +1,6 @@
// ==========================================================================
// Plyr
-// plyr.js v1.0.24
+// plyr.js v1.0.25
// https://github.com/selz/plyr
// License: The MIT License (MIT)
// ==========================================================================
@@ -88,7 +88,7 @@
"<span>0</span>% buffered",
"</progress>",
"</div>",
- "<span class='player-controls-playback'>",
+ "<span class='player-controls-left'>",
"<button type='button' data-player='restart'>",
"<svg><use xlink:href='#icon-restart'></use></svg>",
"<span class='sr-only'>Restart</span>",
@@ -114,7 +114,7 @@
"<span class='player-duration'>00:00</span>",
"</span>",
"</span>",
- "<span class='player-controls-sound'>",
+ "<span class='player-controls-right'>",
"<input class='inverted sr-only' id='mute{id}' type='checkbox' data-player='mute'>",
"<label id='mute{id}' for='mute{id}'>",
"<svg class='icon-muted'><use xlink:href='#icon-muted'></use></svg>",
@@ -137,7 +137,7 @@
"</span>",
"</div>"
].join("\n");
- })()
+ })()
};
// Debugging
@@ -151,7 +151,7 @@
// Unfortunately, due to mixed support, UA sniffing is required
function _browserSniff() {
var nAgt = navigator.userAgent,
- browserName = navigator.appName,
+ name = navigator.appName,
fullVersion = ""+parseFloat(navigator.appVersion),
majorVersion = parseInt(navigator.appVersion,10),
nameOffset,
@@ -160,22 +160,22 @@
// MSIE 11
if ((navigator.appVersion.indexOf("Windows NT") !== -1) && (navigator.appVersion.indexOf("rv:11") !== -1)) {
- browserName = "IE";
+ name = "IE";
fullVersion = "11;";
}
// MSIE
else if ((verOffset=nAgt.indexOf("MSIE")) !== -1) {
- browserName = "IE";
+ name = "IE";
fullVersion = nAgt.substring(verOffset+5);
}
// Chrome
else if ((verOffset=nAgt.indexOf("Chrome")) !== -1) {
- browserName = "Chrome";
+ name = "Chrome";
fullVersion = nAgt.substring(verOffset+7);
}
// Safari
else if ((verOffset=nAgt.indexOf("Safari")) !== -1) {
- browserName = "Safari";
+ name = "Safari";
fullVersion = nAgt.substring(verOffset+7);
if ((verOffset=nAgt.indexOf("Version")) !== -1) {
fullVersion = nAgt.substring(verOffset+8);
@@ -183,15 +183,15 @@
}
// Firefox
else if ((verOffset=nAgt.indexOf("Firefox")) !== -1) {
- browserName = "Firefox";
+ name = "Firefox";
fullVersion = nAgt.substring(verOffset+8);
}
// In most other browsers, "name/version" is at the end of userAgent
else if ( (nameOffset=nAgt.lastIndexOf(" ")+1) < (verOffset=nAgt.lastIndexOf("/")) ) {
- browserName = nAgt.substring(nameOffset,verOffset);
+ name = nAgt.substring(nameOffset,verOffset);
fullVersion = nAgt.substring(verOffset+1);
- if (browserName.toLowerCase()==browserName.toUpperCase()) {
- browserName = navigator.appName;
+ if (name.toLowerCase()==name.toUpperCase()) {
+ name = navigator.appName;
}
}
// Trim the fullVersion string at semicolon/space if present
@@ -207,8 +207,13 @@
fullVersion = ""+parseFloat(navigator.appVersion);
majorVersion = parseInt(navigator.appVersion,10);
}
+
// Return data
- return [browserName, majorVersion];
+ return {
+ name: name,
+ version: majorVersion,
+ ios: /(iPad|iPhone|iPod)/g.test(navigator.platform)
+ };
}
// Check for mime type support against a player instance
@@ -614,6 +619,7 @@
}
catch(e) {
_log("It looks like there's a problem with your controls html. Bailing.", true);
+
return false;
}
}
@@ -652,6 +658,11 @@
// If there's no autoplay attribute, assume the video is stopped and add state class
_toggleClass(player.container, config.classes.stopped, (player.media.getAttribute("autoplay") === null));
+ // Add iOS class
+ if(player.browser.ios) {
+ _toggleClass(player.container, "ios", true);
+ }
+
// Inject the player wrapper
if(player.type === "video") {
// Create the wrapper div
@@ -727,10 +738,10 @@
_showCaptions(player);
// If IE 10/11 or Firefox 31+ or Safari 7+, don"t use native captioning (still doesn"t work although they claim it"s now supported)
- if ((player.browserName === "IE" && player.browserMajorVersion === 10) ||
- (player.browserName === "IE" && player.browserMajorVersion === 11) ||
- (player.browserName === "Firefox" && player.browserMajorVersion >= 31) ||
- (player.browserName === "Safari" && player.browserMajorVersion >= 7)) {
+ if ((player.browser.name === "IE" && player.browser.version === 10) ||
+ (player.browser.name === "IE" && player.browser.version === 11) ||
+ (player.browser.name === "Firefox" && player.browser.version >= 31) ||
+ (player.browser.name === "Safari" && player.browser.version >= 7)) {
// Debugging
_log("Detected IE 10/11 or Firefox 31+ or Safari 7+.");
@@ -802,7 +813,7 @@
}
// If Safari 7+, removing track from DOM [see "turn off native caption rendering" above]
- if (player.browserName === "Safari" && player.browserMajorVersion >= 7) {
+ if (player.browser.name === "Safari" && player.browser.version >= 7) {
_log("Safari 7+ detected; removing track from DOM.");
// Find all <track> elements
@@ -1273,16 +1284,14 @@
fullscreen = _fullscreen();
// Sniff
- player.browserInfo = _browserSniff();
- player.browserName = player.browserInfo[0];
- player.browserMajorVersion = player.browserInfo[1];
+ player.browser = _browserSniff();
// Debug info
- _log(player.browserName + " " + player.browserMajorVersion);
+ _log(player.browser.name + " " + player.browser.version);
// If IE8, stop customization (use fallback)
// If IE9, stop customization (use native controls)
- if (player.browserName === "IE" && (player.browserMajorVersion === 8 || player.browserMajorVersion === 9) ) {
+ if (player.browser.name === "IE" && (player.browser.version === 8 || player.browser.version === 9) ) {
_log("Browser not suppported.", true);
return false;
}
@@ -1373,4 +1382,4 @@
return players;
}
-}(this.plyr = this.plyr || {})); \ No newline at end of file
+}(this.plyr = this.plyr || {}));