summaryrefslogtreecommitdiff
path: root/resources/startup.js
diff options
context:
space:
mode:
Diffstat (limited to 'resources/startup.js')
-rw-r--r--resources/startup.js42
1 files changed, 29 insertions, 13 deletions
diff --git a/resources/startup.js b/resources/startup.js
index deff7e6e..b6a27d2d 100644
--- a/resources/startup.js
+++ b/resources/startup.js
@@ -10,23 +10,39 @@
* This function will be deleted after it's used, so do not expand it to be
* generally useful beyond startup.
*
- * MediaWiki & jQuery compatibility:
- * - Internet Explorer 6.0+
- * - Firefox 10+
- * - Safari 5.0+
- * - Opera 11+
- * - Chrome
+ * See also:
+ * - https://www.mediawiki.org/wiki/Compatibility#Browser
+ * - http://jquerymobile.com/gbs/
+ * - http://jquery.com/browser-support/
*/
/*jshint unused: false */
-function isCompatible() {
- // IE < 6.0
- if ( navigator.appVersion.indexOf( 'MSIE' ) !== -1
- && parseFloat( navigator.appVersion.split( 'MSIE' )[1] ) < 6 )
- {
- return false;
+function isCompatible( ua ) {
+ if ( ua === undefined ) {
+ ua = navigator.userAgent;
}
- return true;
+
+ // MediaWiki JS or jQuery is known to have issues with:
+ return !(
+ // Internet Explorer < 6
+ ( ua.indexOf( 'MSIE' ) !== -1 && parseFloat( ua.split( 'MSIE' )[1] ) < 6 ) ||
+ // Firefox < 3
+ ( ua.indexOf( 'Firefox/' ) !== -1 && parseFloat( ua.split( 'Firefox/' )[1] ) < 3 ) ||
+ // BlackBerry < 6
+ ua.match( /BlackBerry[^\/]*\/[1-5]\./ ) ||
+ // Open WebOS < 1.5
+ ua.match( /webOS\/1\.[0-4]/ ) ||
+ // Anything PlayStation based.
+ ua.match( /PlayStation/i ) ||
+ // Any Symbian based browsers
+ ua.match( /SymbianOS|Series60/ ) ||
+ // Any NetFront based browser
+ ua.match( /NetFront/ ) ||
+ // Opera Mini, all versions
+ ua.match( /Opera Mini/ ) ||
+ // Nokia's Ovi Browser
+ ua.match( /S40OviBrowser/ )
+ );
}
/**