assets/ableplayer/scripts/browser.js in wai-website-theme-1.3.1 vs assets/ableplayer/scripts/browser.js in wai-website-theme-1.4
- old
+ new
@@ -1,162 +1,162 @@
(function ($) {
- AblePlayer.prototype.getUserAgent = function() {
+ AblePlayer.prototype.getUserAgent = function() {
- // Whenever possible we avoid browser sniffing. Better to do feature detection.
- // However, in case it's needed...
- // this function defines a userAgent array that can be used to query for common browsers and OSs
- // NOTE: This would be much simpler with jQuery.browser but that was removed from jQuery 1.9
- // http://api.jquery.com/jQuery.browser/
- this.userAgent = {};
- this.userAgent.browser = {};
+ // Whenever possible we avoid browser sniffing. Better to do feature detection.
+ // However, in case it's needed...
+ // this function defines a userAgent array that can be used to query for common browsers and OSs
+ // NOTE: This would be much simpler with jQuery.browser but that was removed from jQuery 1.9
+ // http://api.jquery.com/jQuery.browser/
+ this.userAgent = {};
+ this.userAgent.browser = {};
- // Test for common browsers
- if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
- this.userAgent.browser.name = 'Firefox';
- this.userAgent.browser.version = RegExp.$1; // capture x.x portion
- }
- else if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { //test for MSIE x.x (IE10 or lower)
- this.userAgent.browser.name = 'Internet Explorer';
- this.userAgent.browser.version = RegExp.$1;
- }
- else if (/Trident.*rv[ :]*(\d+\.\d+)/.test(navigator.userAgent)) { // test for IE11 or higher
- this.userAgent.browser.name = 'Internet Explorer';
- this.userAgent.browser.version = RegExp.$1;
- }
- else if (/Edge[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { // test for MS Edge
- this.userAgent.browser.name = 'Edge';
- this.userAgent.browser.version = RegExp.$1;
- }
- else if (/OPR\/(\d+\.\d+)/i.test(navigator.userAgent)) { // Opera 15 or over
- this.userAgent.browser.name = 'Opera';
- this.userAgent.browser.version = RegExp.$1;
- }
- else if (/Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor)) {
- this.userAgent.browser.name = 'Chrome';
- if (/Chrome[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
- this.userAgent.browser.version = RegExp.$1;
- }
- }
- else if (/Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor)) {
- this.userAgent.browser.name = 'Safari';
- if (/Version[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
- this.userAgent.browser.version = RegExp.$1;
- }
- }
- else {
- this.userAgent.browser.name = 'Unknown';
- this.userAgent.browser.version = 'Unknown';
- }
+ // Test for common browsers
+ if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
+ this.userAgent.browser.name = 'Firefox';
+ this.userAgent.browser.version = RegExp.$1; // capture x.x portion
+ }
+ else if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { //test for MSIE x.x (IE10 or lower)
+ this.userAgent.browser.name = 'Internet Explorer';
+ this.userAgent.browser.version = RegExp.$1;
+ }
+ else if (/Trident.*rv[ :]*(\d+\.\d+)/.test(navigator.userAgent)) { // test for IE11 or higher
+ this.userAgent.browser.name = 'Internet Explorer';
+ this.userAgent.browser.version = RegExp.$1;
+ }
+ else if (/Edge[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { // test for MS Edge
+ this.userAgent.browser.name = 'Edge';
+ this.userAgent.browser.version = RegExp.$1;
+ }
+ else if (/OPR\/(\d+\.\d+)/i.test(navigator.userAgent)) { // Opera 15 or over
+ this.userAgent.browser.name = 'Opera';
+ this.userAgent.browser.version = RegExp.$1;
+ }
+ else if (/Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor)) {
+ this.userAgent.browser.name = 'Chrome';
+ if (/Chrome[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
+ this.userAgent.browser.version = RegExp.$1;
+ }
+ }
+ else if (/Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor)) {
+ this.userAgent.browser.name = 'Safari';
+ if (/Version[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
+ this.userAgent.browser.version = RegExp.$1;
+ }
+ }
+ else {
+ this.userAgent.browser.name = 'Unknown';
+ this.userAgent.browser.version = 'Unknown';
+ }
- // Now test for common operating systems
- if (window.navigator.userAgent.indexOf("Windows NT 6.2") != -1) {
- this.userAgent.os = "Windows 8";
- }
- else if (window.navigator.userAgent.indexOf("Windows NT 6.1") != -1) {
- this.userAgent.os = "Windows 7";
- }
- else if (window.navigator.userAgent.indexOf("Windows NT 6.0") != -1) {
- this.userAgent.os = "Windows Vista";
- }
- else if (window.navigator.userAgent.indexOf("Windows NT 5.1") != -1) {
- this.userAgent.os = "Windows XP";
- }
- else if (window.navigator.userAgent.indexOf("Windows NT 5.0") != -1) {
- this.userAgent.os = "Windows 2000";
- }
- else if (window.navigator.userAgent.indexOf("Mac")!=-1) {
- this.userAgent.os = "Mac/iOS";
- }
- else if (window.navigator.userAgent.indexOf("X11")!=-1) {
- this.userAgent.os = "UNIX";
- }
- else if (window.navigator.userAgent.indexOf("Linux")!=-1) {
- this.userAgent.os = "Linux";
- }
- if (this.debug) {
- console.log('User agent:' + navigator.userAgent);
- console.log('Vendor: ' + navigator.vendor);
- console.log('Browser: ' + this.userAgent.browser.name);
- console.log('Version: ' + this.userAgent.browser.version);
- console.log('OS: ' + this.userAgent.os);
- }
- };
+ // Now test for common operating systems
+ if (window.navigator.userAgent.indexOf("Windows NT 6.2") != -1) {
+ this.userAgent.os = "Windows 8";
+ }
+ else if (window.navigator.userAgent.indexOf("Windows NT 6.1") != -1) {
+ this.userAgent.os = "Windows 7";
+ }
+ else if (window.navigator.userAgent.indexOf("Windows NT 6.0") != -1) {
+ this.userAgent.os = "Windows Vista";
+ }
+ else if (window.navigator.userAgent.indexOf("Windows NT 5.1") != -1) {
+ this.userAgent.os = "Windows XP";
+ }
+ else if (window.navigator.userAgent.indexOf("Windows NT 5.0") != -1) {
+ this.userAgent.os = "Windows 2000";
+ }
+ else if (window.navigator.userAgent.indexOf("Mac")!=-1) {
+ this.userAgent.os = "Mac/iOS";
+ }
+ else if (window.navigator.userAgent.indexOf("X11")!=-1) {
+ this.userAgent.os = "UNIX";
+ }
+ else if (window.navigator.userAgent.indexOf("Linux")!=-1) {
+ this.userAgent.os = "Linux";
+ }
+ if (this.debug) {
+ console.log('User agent:' + navigator.userAgent);
+ console.log('Vendor: ' + navigator.vendor);
+ console.log('Browser: ' + this.userAgent.browser.name);
+ console.log('Version: ' + this.userAgent.browser.version);
+ console.log('OS: ' + this.userAgent.os);
+ }
+ };
- AblePlayer.prototype.isUserAgent = function(which) {
- var userAgent = navigator.userAgent.toLowerCase();
- if (this.debug) {
- console.log('User agent: ' + userAgent);
- }
- if (userAgent.indexOf(which.toLowerCase()) !== -1) {
- return true;
- }
- else {
- return false;
- }
- };
+ AblePlayer.prototype.isUserAgent = function(which) {
- AblePlayer.prototype.isIOS = function(version) {
- // return true if this is IOS
- // if version is provided check for a particular version
+ var userAgent = navigator.userAgent.toLowerCase();
+ if (this.debug) {
+ console.log('User agent: ' + userAgent);
+ }
+ if (userAgent.indexOf(which.toLowerCase()) !== -1) {
+ return true;
+ }
+ else {
+ return false;
+ }
+ };
- var userAgent, iOS;
+ AblePlayer.prototype.isIOS = function(version) {
- userAgent = navigator.userAgent.toLowerCase();
- iOS = /ipad|iphone|ipod/.exec(userAgent);
- if (iOS) {
- if (typeof version !== 'undefined') {
- if (userAgent.indexOf('os ' + version) !== -1) {
- // this is the target version of iOS
- return true;
- }
- else {
- return false;
- }
- }
- else {
- // no version was specified
- return true;
- }
- }
- else {
- // this is not IOS
- return false;
- }
- };
+ // return true if this is IOS
+ // if version is provided check for a particular version
- AblePlayer.prototype.browserSupportsVolume = function() {
- // ideally we could test for volume support
- // However, that doesn't seem to be reliable
- // http://stackoverflow.com/questions/12301435/html5-video-tag-volume-support
+ var userAgent, iOS;
- var userAgent, noVolume;
+ userAgent = navigator.userAgent.toLowerCase();
+ iOS = /ipad|iphone|ipod/.exec(userAgent);
+ if (iOS) {
+ if (typeof version !== 'undefined') {
+ if (userAgent.indexOf('os ' + version) !== -1) {
+ // this is the target version of iOS
+ return true;
+ }
+ else {
+ return false;
+ }
+ }
+ else {
+ // no version was specified
+ return true;
+ }
+ }
+ else {
+ // this is not IOS
+ return false;
+ }
+ };
- userAgent = navigator.userAgent.toLowerCase();
- noVolume = /ipad|iphone|ipod|android|blackberry|windows ce|windows phone|webos|playbook/.exec(userAgent);
- if (noVolume) {
- if (noVolume[0] === 'android' && /firefox/.test(userAgent)) {
- // Firefox on android DOES support changing the volume:
- return true;
- }
- else {
- return false;
- }
- }
- else {
- // as far as we know, this userAgent supports volume control
- return true;
- }
- };
+ AblePlayer.prototype.browserSupportsVolume = function() {
- AblePlayer.prototype.nativeFullscreenSupported = function () {
- if (this.player === 'jw') {
- // JW player flash has problems with native fullscreen.
- return false;
- }
- return document.fullscreenEnabled ||
- document.webkitFullscreenEnabled ||
- document.mozFullScreenEnabled ||
- document.msFullscreenEnabled;
- };
+ // ideally we could test for volume support
+ // However, that doesn't seem to be reliable
+ // http://stackoverflow.com/questions/12301435/html5-video-tag-volume-support
+
+ var userAgent, noVolume;
+
+ userAgent = navigator.userAgent.toLowerCase();
+ noVolume = /ipad|iphone|ipod|android|blackberry|windows ce|windows phone|webos|playbook/.exec(userAgent);
+ if (noVolume) {
+ if (noVolume[0] === 'android' && /firefox/.test(userAgent)) {
+ // Firefox on android DOES support changing the volume:
+ return true;
+ }
+ else {
+ return false;
+ }
+ }
+ else {
+ // as far as we know, this userAgent supports volume control
+ return true;
+ }
+ };
+
+ AblePlayer.prototype.nativeFullscreenSupported = function () {
+
+ return document.fullscreenEnabled ||
+ document.webkitFullscreenEnabled ||
+ document.mozFullScreenEnabled ||
+ document.msFullscreenEnabled;
+ };
})(jQuery);